リファクタリングすると全部テストしろと言ってくるやつの矛盾

1 :仕様書無しさん:2018/04/15(日) 13:13:44.63 .net
機能追加や変更した時に、全部テストしてるでしょ?
いつもやってることじゃん

25 :仕様書無しさん:2018/04/16(月) 06:25:24.08 .net

>>2
責任とって辞めます。

670 :仕様書無しさん:2018/04/25(水) 23:49:15.19 .net

>>664
Jenkinsは至るところで使われてるけど50行以上のメソッドなんていくらでもある事実

149 :仕様書無しさん:2018/04/19(木) 09:40:04.23 .net

>>147
だからデグレは複雑なコードのまま変更するほうが
リスク高いんですってばw

448 :仕様書無しさん:2018/04/22(日) 18:36:06.22 .net

>>447
すごーい君は国語辞典たくさん持ってるフレンズなんだね

523 :仕様書無しさん:2018/04/23(月) 12:08:46.41 .net

関数の中のロジックの一部を他の関数に切り出して、カバレッジ100%のユニットテストで元のテストの
外部的振る舞いが変わってないことを確認して満足してた奴がリファクタリング起因の障害を発生させてたわw

433 :仕様書無しさん:2018/04/22(日) 18:27:59.08 .net

意味不明

533 :仕様書無しさん:2018/04/23(月) 22:01:01.53 .net

結局リファクタの成否は
客を丸め込んでデグレのリスクを飲ませられるかにかかってる気がしてきた

バージョンアップとかスピードアップとかなんかこじつけて
リファクタでデグレたら原因も無理やりそこに倒す

649 :仕様書無しさん:2018/04/25(水) 23:30:48.77 .net

英検1級レベルに満たない奴はローマ字でコードを書け

568 :仕様書無しさん:2018/04/23(月) 23:10:19.92 .net

もしかしてプライベートメソッドのテストをしてるとかかな?w
それユニットテストじゃない

ユニットテストはモジュールのインターフェースのテストだから
変わりまくることはあり得ない。

もしモジュールのインターフェースという概念がなくて、
単に長いから関数にまとめましたみたいな、
なんでかしらないけど、この関数テストしづらいです。
なんてことをしてるのならそいつの問題

622 :仕様書無しさん:2018/04/25(水) 00:12:23.85 .net

株式会社トップクラス

32 :仕様書無しさん:2018/04/16(月) 14:52:53.46 .net

体力がなくて単純工すらできないごみクズがIT技術者(笑)になる日本では
コストメリットどころかリスクしかない。

598 :KAC:2018/04/24(火) 19:17:09.86 .net

>>595
リリース前も後も管理するのは当たり前

778 :仕様書無しさん:2018/04/30(月) 19:15:18.91 .net

お前ら自分のことは棚にあげてるけど、スーパープログラマから見たらバカとお前らのレベル差なんて誤差みたいなもんやろ

700 :仕様書無しさん:2018/04/26(木) 02:27:16.80 .net

糞コードいつか破綻するのはわかってるのに
そのまま売りまっくて最終的には極悪に肥大したクソコードのリファクタリングしろという
まずその事実を知っていて売り続けた開発部長やら上層の誰かに責任取らせろやハゲが

405 :仕様書無しさん:2018/04/22(日) 18:09:34.98 .net

>>401
ミスった本人がミスだと言ってるわけですからミスですよ
いいやお前はミスターだとかそんな寒いこと言おうとしてるんですか?
やめてください

773 :仕様書無しさん:2018/04/30(月) 13:58:00.43 .net

付加価値ゼロのコードを
何万行書こうとも
付加価値ゼロだからね

847 :仕様書無しさん:2018/05/12(土) 15:58:56.55 .net

Eclipseなら最初から統合環境が整備されてるみたいな言い方だな。

102 :仕様書無しさん:2018/04/18(水) 02:00:52.61 .net

>>101
あと仕様変更がないってことだろうね。

仕様変更があれば、少なからず設計を変更することになるから

529 :仕様書無しさん:2018/04/23(月) 21:31:15.36 .net

コードがださいからリファクタしたい
気が滅入る

124 :仕様書無しさん:2018/04/18(水) 23:22:51.13 .net

>>120
リファクタだけの問題じゃないが、リファクタも修正のうち
修正する以上人間がやらかすリスクはある

だったら修正は極力限定されているほうがいいだろ

>次修正する時、また改修時間(読む時間)がかかりますよね?
そしてリファクタ最大の問題
コードの読みやすさや理解しやすさは人の主観に大きく依存する

else取っ払ってタプル戻り値の関数に変えようとするやつもいるんだぞ

リファクタ後に修正したほうがテスト工数が削減できるとか、規約が新たにできたから合わせるとか
なにかしら明白な理由がないと

567 :仕様書無しさん:2018/04/23(月) 23:08:14.72 .net

日々コードの形が変わっていくのをイメージできない初心者はIDDDでも読んでみたらー

50 :仕様書無しさん:2018/04/16(月) 21:36:56.37 .net

>>47
そんな入門書の1章に書いてあるような話はいいよ、面白くないから

560 :仕様書無しさん:2018/04/23(月) 23:05:13.56 .net

>>556
> リファクタの途中よりリファクタの前と後で結果が変わらないことを保証してほしいんだけど

だからリファクタの前=コミットログの修正前
リファクタの後=コミットログの修正後だろ?

リファクタの前のテストコードを変更せずに
リファクタの後でもそのまま通れば
変わってないことが証明できる。

あー、これ↓を言っておかないとダメなんだろうなw
結果が変わってないと証明された後、
使われてないと判明したコードは削除できる

13 :仕様書無しさん:2018/04/15(日) 15:06:06.29 .net

リファクタリングの存在を否定できないと
困る人がいるんですよw

581 :仕様書無しさん:2018/04/24(火) 06:04:21.71 .net

だから
リファクタリングなんぞ不要

数年後には業務変化の見直しと現在業務の確認のために、システムをまるごと作り直すから

191 :仕様書無しさん:2018/04/20(金) 23:16:13.44 .net

>>186
> リファクタリングに時間がかかるって主張だよな?

なんでそう何度も曲解するの?
わざとだよね?

時間がかかるのは、コードの修正。
リファクタリングしなくても時間がかかる

52 :仕様書無しさん:2018/04/16(月) 21:48:55.54 .net

入門レベルの奴でも上から目線になれるから張り切ってんのか

723 :仕様書無しさん:2018/04/26(木) 23:44:04.93 .net

DBからデータを取り出してブラウザに返す仕事なんて、専門教育を受けてない文系でもこなしてるという事実

69 :仕様書無しさん:2018/04/17(火) 10:16:36.37 .net

TDDってさ
組織的にガチガチにやるもんじゃなくて
設計者の間で守るべき密やかな秘密程度で
やったほうが良い気がすんのね。

684 :仕様書無しさん:2018/04/26(木) 00:49:24.26 .net

トレードオフって何と何のトレードオフなんだろう?

最初から短い関数で書けばいいと思うけど、
関数を長くすることで、何のメリットがあるの?

377 :仕様書無しさん:2018/04/22(日) 17:57:54.38 .net

>>368
妄想と現実の区別がつかない状態がこれです

642 :仕様書無しさん:2018/04/25(水) 23:12:13.47 .net

>>641
それは当然だけど、50行とか平気で超えてるようなコードを書く人たちに
現実ってものを突きつけたいと思ってね。

42 :仕様書無しさん:2018/04/16(月) 21:03:03.43 .net

>>40
修正許可与えてるなら、どんな修正をしたとしても
許されるはずだけど?

744 :仕様書無しさん:2018/04/28(土) 07:14:45.24 .net

改修準備
調査分析
自動テスト作成
負債返済
利便性向上

少なくともこの5種のリファクタリングを日常的に行う
改修前のリファクタリングしか知らないならまだまだだね

620 :仕様書無しさん:2018/04/24(火) 22:40:05.38 .net

>>614
(奴隷度)トップクラス

46 :仕様書無しさん:2018/04/16(月) 21:27:14.47 .net

素人というやつは童貞だ
イカ臭いプログラム書いてろ
と言ってるようなもの

415 :仕様書無しさん:2018/04/22(日) 18:20:34.20 .net

リファクタリング対象だな
対称でも対照でもなくて

402 :仕様書無しさん:2018/04/22(日) 18:07:51.59 .net

>>396
意味を理解していようといまいと変換ミスは起こるものですよ

558 :仕様書無しさん:2018/04/23(月) 23:02:52.05 .net

>>553
> 開発中の日々形を変えるコードに対してガチガチのテストを書くなって言ってんだけど、

テスト=仕様を元に決まるものなはずだけど、
仕様が日々変わりまくるのか?

ならそっちが問題だなw

814 :仕様書無しさん:2018/05/09(水) 12:14:43.48 .net

最前線なのに過去形とゆう矛盾wバカw

487 :仕様書無しさん:2018/04/22(日) 21:22:12.90 .net

> が、ちゃんとリファクタリングとそれ以外は明確に別れる必要もある。

どういう意味で言ってるのか知らんが、これを読めばわかると思う

Martin Fowler氏によるリファクタリングのワークフロー
https://www.infoq.com/jp/news/2014/03/fowler-workflows-refactoring

> 機能を追加するとき
> バグを修正するとき
> コードレビューと共に
> Fowler氏は「二つの帽子」の比喩を引きあわせて、プログラミングのタスクをこなす際の、
> 新しい機能の追加(ファンクションの帽子をかぶること)と、
> コードの品質向上(リファクタリングの帽子をかぶること)について説明している。
> そして、「プログラミング中は、頻繁に、ことによると数分毎に2つの帽子を
> 取り替えることになるだろう。しかし、一度にかぶれる帽子はどちらか1つだけだ。」と彼は述べている。

一つのタスクの中でこれらは混ざるが、同時に二つを行うことはない。
その意味で明確に分かれるといってるのならそれはそのとおり

もう少し具体的に言えば、ある機能実装のブランチがあって
そのブランチの中でこれらは混ざることはあるが、コミットは別れている

304 :仕様書無しさん:2018/04/22(日) 17:16:22.76 .net

>>302
ググらないとわからないならお前がにわかです

285 :仕様書無しさん:2018/04/22(日) 16:38:45.75 .net

将来の改修や拡張の方向性がわからないのにんあことできるわけないだろ!

540 :仕様書無しさん:2018/04/23(月) 22:21:41.39 .net

>>539
ユニットテストが壊れない程度のリファクタリング、つまり関数レベルのリファクタリングしかしない人にはわからないかも

571 :仕様書無しさん:2018/04/23(月) 23:14:05.70 .net

>>569
外から見た時の動きが変わってなければ良い。
そして外から見た時の動きが変わってないが、
(テストコード以外で)使われていないメソッドを作ることは可能
そしたら使われてないコードは安全に消せる。

こういう話をしてます。

695 :仕様書無しさん:2018/04/26(木) 01:14:29.41 .net

そもそも設計書からしてそんなに大量のメソッド作成するように書いてるのか?
設計書に書いた処理とソースの処理を一致させないと説明が面倒だろ

141 :仕様書無しさん:2018/04/19(木) 00:34:51.32 .net

複雑なコードは壊すのがこわいからリファクタできない
簡単なコードは意味がないからリファクタできない

777 :仕様書無しさん:2018/04/30(月) 19:09:11.03 .net

>>775
おまえも単価安い十天王の一角やんか

463 :仕様書無しさん:2018/04/22(日) 18:47:28.58 .net

>>457
使用例は
意味がはっきりわかったときに「意味明瞭だ」と言うんだよ
これが使用例です、普通というのはあなたの日常では使いませんという
意味ですよね、それはあなたの語彙が足りてないから使えてないだけで
このスレであなたは新たな語彙を獲得したんだから、是非使っていって欲しい
と僕は思うわけです

293 :仕様書無しさん:2018/04/22(日) 17:08:57.78 .net

>>290
テストファーストの手順の中に含まれるものだって話をしてるんだから
テストファースト=リファクタリングなわけないでしょw
お前の日本語の理解力の問題だ

531 :仕様書無しさん:2018/04/23(月) 21:38:22.86 .net

>>525
> 手動でもテストコードはあるんだが?

なら手動でバグを見つけられなかったことでは?
まあ手動によるテストは信頼性が低いからね

290 :仕様書無しさん:2018/04/22(日) 17:07:13.80 .net

テストファーストはリファクタリングじゃないですよ

289 :仕様書無しさん:2018/04/22(日) 17:02:47.45 .net

もちろんテストファーストをしないならリファクタリングはしないってことじゃないよ。
先に実装しても、その後テストコードを書いて、それが通るのを維持しながら
ソースコードを読みやすくする。これもリファクタリング

135 :仕様書無しさん:2018/04/19(木) 00:04:04.23 .net

>>134
で?結局リファクタやると具体的に何がいいんだっけ?
色々話してるとメリットが全く見えなくなっちゃう

601 :仕様書無しさん:2018/04/24(火) 20:26:27.79 .net

>>600
変更中で清書する前のコードならpushしねえよ

95 :仕様書無しさん:2018/04/17(火) 23:48:58.45 .net

> ちゃんと設計できてないから改修する度にいちいち事前のリファクタリングが必要になるんだろうな

そりゃリファクタリングの必要がない場合にはリファクタリングしませんよw

前提として、リファクタリングの必要があるコードだって
ちゃんと書きましょうか? そうすればもっとわかりやすくなりますね。

・リファクタリングをしない場合
1. ちゃんとした設計になっていない
2. そのままで無理やりバッファサイズを増やす
3. やってることが意味不明。変更に自信が持てない。コードレビューも大変。
4. 変更で問題が出やすい。そのたびに意味不明なコードと格闘する。
5. 関連箇所の試験して完了。

・リファクタリングをする場合
1. ちゃんとした設計になっていない
2. 設計を修正する(リファクタリング)
3. ちゃんとした設計に自然な形でバッファサイズを増やす
4. やってることが明確。変更に自信が持てる。コードレビューも簡単。
5. 変更に問題が出にくい。仮に出たとしてもちゃんとした設計になってるのですぐに修正できる
6. 関連箇所の試験して完了。

リファクタリングしたことで1工程増えたように見えますが、
ちゃんとした設計になってないものを無理やり修正した複雑なコードは
バグが出やすく、修正も大変になって時間がかかります。
それはわかるでしょう?

86 :仕様書無しさん:2018/04/17(火) 19:09:26.69 .net

>>84
触らなければテストもしなくていい
プロは余計なコードも書かないし、余計なテストもしない

265 :仕様書無しさん:2018/04/22(日) 15:32:00.64 .net

テストしないでコード整理するのも時には必要
あまりにも悲惨なコードに短時間で多数の機能を追加しなきゃならん時とかね
多少のミスは割り切ってリファクタリングして機能追加して全体を手動テストして納品する
俺はこれをエクストリームリファクタリングと呼んでる
厳密なリファクタリング信者からすると気持ちわるいかもしれないが生産性は高い

64 :KAC:2018/04/17(火) 08:07:55.30 .net

>>62
自動試験してレビュー通ったらシステムインしてサービス開始すんの?

758 :仕様書無しさん:2018/04/30(月) 08:38:37.95 .net

>>757
それテストじゃなくて別の問題だよね

2 :仕様書無しさん:2018/04/15(日) 13:16:31.37 .net

それなw

あと、リファクタリングするとお前責任取れるのかとか言ってくるが
機能修正でバグった時の責任はリファクタリングじゃないんだから
全部あんたがとれよって言うと顔真っ赤になるw

518 :仕様書無しさん:2018/04/23(月) 08:18:26.16 .net

>>517
それは仕様がすべて文章化されていればな
実際はそんなこと不可能だし
変更した以上デグレは覚悟しなければならない

647 :仕様書無しさん:2018/04/25(水) 23:25:41.82 .net

コードの優劣は、そのコードが生み出す経済的価値によって決まる
ただ綺麗なコードより汚くても利益を生むコードの方が価値がある
大して価値のないコードを一生懸命リファクタリングしてる奴には、そんなゴミ捨てて意味のあるコードを書けと言いたいね

202 :仕様書無しさん:2018/04/21(土) 00:23:24.27 .net

つーかさ、誰も100%納得がいくまで
リファクタリングしろなんていってないんだよ。
修正する所、どちらにしろテストが必要な所
関係がある所を、少しづつやればいい。

時間がかかるっていうのは、それはいつも手遅れの
コードばかりだって自覚有るからじゃねーの?

88 :仕様書無しさん:2018/04/17(火) 20:51:10.01 .net

WFとアジャイルとでも違うし
リファクタリングできる設計になってるの?
も大きな要素だが

動いているなら弄るなよは永遠の真理

192 :仕様書無しさん:2018/04/20(金) 23:20:25.44 .net

正確に言えばコードの修正を始めるまでの
コードを解析している時間だな

たった一行の修正なのにこんなにするんですか!?って
言われるぐらいの費用になるのは、”コードのタイピング”には
含まれない部分がたくさんある

795 :仕様書無しさん:2018/05/01(火) 00:33:25.55 .net

異世界に転生して洋食屋に行きたい

110 :仕様書無しさん:2018/04/18(水) 19:52:23.21 .net

関数レベルのリファクタリングしか語れないレベルだということはお察し

31 :仕様書無しさん:2018/04/16(月) 14:41:43.64 .net

リファクタリングが有効かどうか?
検証してやるよ。コスト?そりゃ当然かかるよ

ここで嫌がる会社が多い

重要なのは、失敗するかもしれないがやってみよう
という考えが通じる会社かどうかなんだろうな

295 :仕様書無しさん:2018/04/22(日) 17:11:11.12 .net

個人的にそういうやり方をやってるってだけで
テストファーストとリファクタリングは根本的に異なり
完全に独立して成り立つものですよ

参考になったらSNSでシェアお願いします!

レスを投稿する(名前省略可)

この記事を読んだ方へのおすすめ

  • teratailもりあがっtail? 21問目

    元スレ 1 :仕様書無しさん:2018/11/08(木) 13:05:18.98 .net teratail https://teratail.com/ 前スレ teratailもりあがっtail? 20問目 https…

  • 【田町で】アイコムシステック【リメンバー みむりん】

    元スレ 1 :仕様書無しさん:2017/01/22(日) 08:35:00.96 .net アイコムシステックよ 我々は、リーマンショックと共に 田町のみむりんを忘れない。 113 :仕様書無しさん:2019/10/26…

  • プログラマの雑談部屋 ★85

    元スレ 1 ::2019/10/18(Fri) 13:36:07 .net このスレで、プログラマは休憩するのだ ※前スレ プログラマの雑談部屋 ★81 https://medaka.5ch.net/test/read.…

  • スキルアップとか正直興味ない

    元スレ 1 :仕様書無しさん:2016/12/08(木) 12:41:41.32 .net たまたま情報系の学科出てそれしか出来ないから就職しただけ 最新の技術とか開発技法とか一切興味ない 家のパソコンに開発環境やエディ…

  • プログラミング用の好ましいノートとは?

    元スレ 1 :仕様書無しさん:2012/10/31(水) 01:45:56.53 .net どのようなスペックで選べば良いのでしょうか? 73 :仕様書無しさん:2016/05/11(水) 00:19:22.04 .ne…

  • プログラマー愚痴専用スレ

    元スレ 1 :仕様書無しさん:2019/10/26(土) 13:15:37.30 .net 日々溜まってる愚痴を吐き出すスレ 面倒くさい奴は総スルーで 38 :仕様書無しさん:2019/10/31(木) 07:53:57…

  • プログラマの雑談部屋 ★169

    元スレ 1 :仕様書無しさん:2021/11/29(月) 21:44:51.05 .net みんな仲良くしましょう! 前スレ プログラマの雑談部屋 ★165 https://medaka.5ch.net/test/rea…

  • アジャイルを考えたやつの死を願うスレ Part.4

    元スレ 1 :仕様書無しさん:2022/05/24(火) 12:35:58.18 .net ※前スレ アジャイルを考えたやつの死を願うスレ Part.3 http://medaka.5ch.net/test/read.c…

  • プログラマの雑談部屋 ★88

    元スレ 1 :仕様書無しさん:2019/11/15(金) 19:39:57.00 .net このスレで、プログラマは休憩するのだ ※前スレ プログラマの雑談部屋 ★83 https://medaka.5ch.net/te…

  • 今日メモ帳でハローワールド作らせた

    元スレ 1 :仕様書無しさん:2016/03/02(水) 18:48:00.16 .net 入社してだいたい1年の20〜23の若者5名にメモ帳でハローワールド作らせた(言語はjava)レクリエーションで コマンドプロンプ…

  • 派遣の人って一生派遣する気なの?

    元スレ 1 :仕様書無しさん:2008/09/21(日) 13:44:07 .net 30過ぎで派遣とかやってる人見ると 人ごとながら不安になってくる。 386 :仕様書無しさん:2018/05/02(水) 11:05:…

  • 競技プログラミングにハマるプログラマのスレ 76

    元スレ 1 :仕様書無しさん:2021/11/28(日) 10:45:58.15 .net 競技プログラミング、オンラインジャッジ、プログラミングコンテストやCTFに関する雑談スレ 次スレは AtCoder https:…

最近のコメント

匿名 : 【いちゃ部屋】株式会社SHIFT【5ch出張所】
 新入社員はわかいそう、 在宅勤務でe-ラニングうけとけ、 ... (6/18)
匿名 : 【残業代】福井 株式会社アスタ【未払い】
 プライド高いところあるけど清輝あるなら大丈夫や (5/28)
匿名 : 【残業代】福井 株式会社アスタ【未払い】
 プライド高いところあるけど清輝あるなら大丈夫か (5/07)
ページTOPへ↑