TOP カテ一覧 スレ一覧 100〜終まで 2ch元 削除依頼
裁量労働制で働いてるプログラマ
teratailもりあがっtail? 44問目
女プログラマおりますか?
プログラマで年1000万稼ぐ方法おしえて
プログラマーなら「FizzBuzz問題」解けるよな?
発達障害と問題児達集合(ランクC~D)+灰色コーダー
不正で金を奪った河合芳光裁判官の答弁
【低収入】月70万円以下は主婦レベル【低技術】
正社員で派遣(常駐)されてる奴は目覚めたら?
ブラックが多いのってお前らが訴えないからだろ

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


1 :2018/10/29 〜 最終レス :2018/11/09
機能追加や変更した時に、全部テストしてるでしょ?
いつもやってることじゃん

よくある応答のパターン

1. 必要もないのにリファクタリングを勝手にやるな
⇒ 客などから修正を要求するときに行うので、勝手にやることはありません

2. 修正の指示は出したがリファクタリングの指示は出してない
⇒ 修正工程の一つに含まれる作業なので修正と分離することは不可能です

3. リファクタリングすると動きが変わるだろ
⇒ 動きを変えないのがリファクタリングです

4. リファクタリングしたら全部テストしなきゃならないだろ
⇒ 修正しろと客などから言われたんだから修正するしか無い
どちらにしろ全部テストするんだろう?


前スレ
リファクタリングすると全部テストしろと言ってくる奴の矛盾2
https://medaka.2ch.sc/test/read.cgi/prog/1526720757/

2 :
え?でもやっぱり今回の改修で他の機能までバグるのはおかしいですよね?

共通ルーチン?
なんで分けて改修しないんですか?
テスト全部やり直してくださいよ

もう一回やったら訴えますよ

これが現実
震えて眠れ

3 :
> 共通ルーチン?
> なんで分けて改修しないんですか?

分けて二箇所改修する意味は?

4 :
え?でもやっぱり今回の改修でバグは治ったんじゃないんですか?テストしたんですよね?

テストはした箇所は治っていました。ですが似たような箇所で同じような計算をしていて
そちらは治っていませんでした。軽く検査した所、同じような計算が10箇所ありましたので
その改修とテストに今回の10倍の時間と費用がかります。

5 :
>>3
片方は問題ねーから

6 :
なんで共通化しないんですか?


それはね。あなたから開発費をせしめるためですよ


 

7 :
>>5
共通ルーチン使っていて、片方は問題ないなんてありえないよ
どういう場合にそうなるんだよw

8 :
片方問題がなかったら、それはもう設計時点の問題だな
違う処理であるべきなのに、同じ処理にしてしまったんだから

9 :
>>7
え?想像力がたりなさすぎない?

一つは精度が必要なときとかfloatで十分、doubleでないとダメ
条件が特定のルーチンしか通らないとか

いくらでもあるぜ
お前一つも浮かばなかったの?
プログラマやめちゃえよ
設計なんか語るレベルにないじゃん

10 :
> 一つは精度が必要なときとかfloatで十分、doubleでないとダメ

修正内容が「精度を上げたい」なら共通関数を変更するべきだが、
「一箇所だけ精度を上げたい」ならば、そのときに分ければいいの

おかしいでしょ?精度を上げたい箇所を明確にしないまま作業するなんて
まず先に精度を上げたい場所がどこかが決まる。

そしてそれはリファクタリングではなくて単なる仕様変更
一箇所だけ精度をえるという仕様変更

その違いもわからないなら、プログラマやめたほうがいいよ

11 :
>>9
> 条件が特定のルーチンしか通らないとか

設計が破綻してる

func() { A処理 and B処理 } があって?
一つは、A処理 B処理 両方通って
もう一つが A処理 のみしか通らないなら

func 内部で条件フラグとかで分けるんじゃなくて
呼び出し側で、A処理を行うA() と B処理を行うB() を呼び出す
もう一つは、A処理を行うA() のみを呼び出すの

クソコードによくある。長い関数でグダグダやっていて
特定の場合だけ処理を分けたいから、フラグを追加してフラグみて
片方だけ実行とかね。ほんとコレ、クソコード

12 :
>>9
> 条件が特定のルーチンしか通らないとか
そもそも言ってることがおかしくない?

func() { Aルーチン and Bルーチン } があって条件が特定のルーチンしか通らないんでしょ?
片方は Aルーチン と Bルーチンの 両方を通る。もう片方はAルーチンのみを通るということだ

修正箇所がBルーチンなら片方は修正されるし、もう片方はそもそも通らないのだから関係ない話

だからAルーチンが修正箇所ということになるが、
「条件が特定のルーチンしか通らない」とはどういうことだ?
両方共、修正箇所のAルーチンを通ってるではないか?

13 :
一言で言うならば共通関数の中に、
AルーチンとかBルーチンのようなエリアができてる時点でクソ

14 :
「精度上げてっていったのに上がってないんだけど?」

この関数は上げましたよ?でも他の部分がfloatのままなので
他に渡すときにfloatに変換されますねぇ
他の部分を変更しろとは言われてないしーwww

15 :
>>13
それな

16 :
たいていけんか腰のやつって中身のない議論するんだよなあ

17 :
>>13
これに尽きる

18 :
共通関数があるとしてfloatかdoubleにコードを統一できないなら
単にfloat版とdouble版の関数を作るだけだろ

例えばこんな感じに

https://linuxjm.osdn.jp/html/LDP_man-pages/man3/clog10.3.html
> double complex clog10(double complex z);
> float complex clog10f(float complex z);
> long double complex clog10l(long double complex z);
>
> 他の関数は同じ機能を持つ float 版と long double 版である。

何かを修正するのと、新しく精度違う版が必要になった(機能追加)のを
ごっちゃにするんじゃねーよ

19 :
>>18
じゃあ、そういう修正が入っても既存は一切いじらないって主張でいいんだよね?

20 :
>>19
まず「そういう修正」の中身を明らかにしようか?

floatをdoubleに変えるのは"仕様変更"である
リファクタリングは仕様を変えないものなのだから
仕様を変えると言っている以上、これはリファクタリングではない

リファクタリングなら当然既存を修正する
繰り返すが、既存を修正する

お前が言ってる「そういう修正」の中身は
「他の処理は変えずに一部分だけ精度を上げるという仕様変更のための修正」だ

21 :
え?でもやっぱり今回の改修で他の機能までバグるのはおかしいですよね?

リファクタリングもしたからバグったって?

いやいや、リファクタリングをは動きを変えないものだから
それでバグるわけ無いでしょ?

改修内容を間違えたんですよね。一部分だけ修正しろと言ったのに
全部修正したんですよね?リファクタリングのせいにしないでください

もう一回うそついたら訴えますよ

これが現実
震えて眠れ

22 :
>>21
まあ、人間である以上いじったらバグる可能性は残るんだよ
君は信用できない

23 :
ウチとエンドの客の受入れ試験のお金も君が出してくれるならその範囲を変更してもいいよ
って普通に言われるだろ
仕事はお前だけが回してるわけじゃない
小さい会社でばっかり組んでるとヤバイな

24 :
>>23
修正する以上、テストするだろ?
リファクタリングは修正に関する部分しかしないんだから
テストの工数はすでに計上済み

25 :
>>22
> まあ、人間である以上いじったらバグる可能性は残るんだよ

だから修正範囲のテストをするんですよね?
それとも修正をするなと?
客から言われてるのに?

26 :
>>25
え?だからお前のはいらんとこに手を広げて関係ない機能まで修正入るんだろ?
共通処理使ってるからって理由だけで

27 :
>>26
何度も言うが、リファクタリングは動きを変えないものなんだから
共通処理を変えた所で動きは変わらない

修正内容が共通処理部分なんだろ?
ならリファクタリングしなかったとしても共通処理を修正するだろ
ということでここからはリファクタリングとは関係ない話だぞ


なら共通処理を修正するなら、テストもするわけだ
共通処理をコピーしたとしても、テストの数は変わらない
俺はあたり前のことしか言ってないぞ

28 :
リファクタリングといいながら、リファクタリングとは
関係ない話ばっかりしてるんだもんなぁw
あきれるよ。


単に共通処理を修正(仕様変更)する時、
コピーして修正(仕様変更)するか
コピーせずに修正(仕様変更)するの話じゃんか

29 :
>>27
動き同じでも触ったらテストするんだよ
おk?

30 :
今回の修正で共通処理をいじったんだな?
ちゃんと共通処理のテストをしたのか?

共通処理の中は、エリアが2つに分かれていて、
今回の修正で影響がある部分はテストしました

どういう意味だ?

今回のテストは共通処理の中のエリアBを通りますが、
他の部分からエリアBを通る部分はないはずです。
だから他の部分は影響がないはずです。

だから共通処理を修正しましたが、共通処理自体のテストはしてません
今回の修正内容に関する部分だけテストしました。


テストやり直しな

31 :
>>29
> 動き同じでも触ったらテストするんだよ

そこは今回の修正対象ですよね?
なら最初からテストするに決まってるじゃないですかw

32 :
>>27
動きが同じってどこまで?
メモリの使い方も同じなの?

33 :
>>31
いいや
お前のはやらなくていい範囲まで手を出してるよね?

34 :
>>33
やらなくて良い範囲は手を出しませんよ?
何いってんの?

今回の修正する範囲、テストする範囲しか
リファクタリングしませんwww

35 :
>>33
まさか、共通処理を修正しているくせに
共通処理の一部分は通らないはずだから
テストしなくていいとか言ってんの?www

36 :
>>32
> メモリの使い方も同じなの?

メモリの使い方が仕様に明記されてるならその通りでしょうね
(明記されてないなら何が正しいかも決められないわけで、
正しいことをテストできない)

37 :
>>35
だから俺はしない
分離しちゃう
リファクタリングなんてソースの修正範囲を広げる愚行などもってのほかだ

38 :
>>36
動作は変えないんじゃなかったのか?

39 :
>>37
> だから俺はしない
> 分離しちゃう

だからリファクタリングの話関係ないじゃん

バグ修正の場合も分離するの?
あちこちでバグ起きてるんだけど?

40 :
>>38
> 動作は変えないんじゃなかったのか?

動きを変えないということは、
ソースコードをコピーしたりしてもだめだっていうのはわかってる?

41 :
訂正
× 動きを変えないということは、
○ メモリの使い方を変えないということは

いかなる修正を行っても、メモリの使い方は
変わるから・・・お前すべてのテストをしろって言いたいの?

42 :
>>39
リファクタリングとは関係ない話だけど
ソースコードコピーしたら、その分テスト工数が増えるじゃん

43 :
リファクタリング否定派だと思っていたら、
まさか関数否定派だったとはw

共通処理禁止、コードをコピペして使え
バグが見つかったら、コピペした物すべて
探し出して修正しろ。そして全てテストしろ

44 :
曲解ばっかりだな
リファクタリングなんてまともな職場なら許可なんて下りるわけない

45 :
有名ソフトウェア企業はすべてリファクタリングの許可が降りてるのに?

46 :
たいていというかほぼ全てがリファクタリングに取り組んでいるよな

やってないところはCOBOLに関係がある分野ぐらいか・・・
まあ、あそこは文化が違うからな

47 :
まあそもそも許可とってやるもんじゃないし。
「修正」の中に含まれてるもんだからね

48 :
>>47
は?
理由もないのに内部の造りまで変えたソースなんて品証通るわけねーだろ
コードレビューナメてるのか?

49 :
>>48
テストしてるから通るよ
ってか、なんのためにテストしてるの?

50 :
むしろ汚いコードで、コードレビューやれるのかって話だよなw

51 :
コードレビューは難しいコードを何人もの人が何時間もかけて
解読する作業なんです。

チームの仲間が暗号コードを作成し
別の人が暗号コードを解読する。
それがコードレビューなのです。

そういう不毛なことをして喜んでいるんです。

52 :
>>49
通る?
なぜ?
テメーの不必要な変更で増えた分のお客の受け入れテストの金と時間はどこから出るの?

53 :
俺も新卒のとき自分の作業しか見えなかったな
そのままおっさんになってるようなのは痛い

54 :
>>52
だすもなにも、逆にコスト減るからなぁ

クソ汚いコードを何日もかけてコードレビューするのにくらべたら
綺麗なコードはほんの数分で終わってしまうこともざらにある

55 :
汚いコードをばんって出されて、
このコードが正しいかどうか見てください!って言われても
コード汚いとそいつが作業した時間以上にかかるんだよ
コードレビューやるのにどれだけ時間がかかると思うのか

56 :
許可なく自由にコードいじれるって凄いねw
自由な社風って素敵やん

57 :
リファクタリングは動きを変えないので
テストはいまあるテストコードをそのまま流せばいいだけ

だからリファクタリングのコードレビューは、
単に自動テストが変更されていないかを確かめるだけでよい

必要なのは本質的な仕様変更に対する修正
この修正がリファクタリングされてないと複雑な修正になってしまう
リファクタリング後だと簡単な修正で済む
コードレビューも楽になる

58 :
>>56
仕事を任せられるっていうのはそういうことやで

許可無いと仕事させてもらえないなら、
お前はその程度ってことだ

59 :
無駄な改行までしちゃってw
煽りたくて必死って感じかな?

60 :
お前はその程度ってことだ(キリッ

61 :
とうとう捨て台詞w

62 :
相当悔しかったんだろw
そういう奴にはコレを言ってやれ

お前はその程度ってことだ

63 :
早速コピペwww

使い捨てにされるってのは所詮そこまでの奴
俺ならそいつにこう言ってやるね

お前はその程度ってことだ

64 :
オウム返しは負け犬の証ですよ

65 :
誰もオウム返してないってw

66 :
リファクタリング肯定派なんてこの程度の集まりか

草ばっか生やしちゃってさ・・・
がっかりだよ

67 :
反対派が何も言い返せなくなったんじゃんかw
言い返せることがあるなら言い返せばいいんだぞ
話ならいくらでも続けてやる

68 :
まず、リファクタリングといいながら
仕様変更というリファクタリングとは関係ない話に
すり替えようとしたのは何故だ?

そしてテストする箇所が増えるのに
コードをコピーするのは何故だ?

69 :
意味もなく煽る
無駄に改行
とにかく草

これがリファクタ厨

70 :
ほらこれだ

71 :
技術者としての向上心を捨てるって、こわくない?

72 :
もっと怖いのは、会社が技術力を必要としなくなったときだな
そこで働いているのはひたすら奴隷よ
替えのきく奴隷

73 :
ほらな
話すりかえてすぐ逃げる

74 :
仕方ないよ。リファクタリングを理解できない程度なんだから

75 :
うーん?
リファクタリングなどの技術力って基本的にポータブルなスキルだから、会社がどうこうは関係ないよね。

76 :
ただのコードの整理を理解もくそもない

77 :
つぶしがきく技術ってことだな

78 :
>>74
>>69

意味もなく煽る
お前のことだよ

79 :
一人で自作自演してw
極端すぎるからお前の意見なんてまともなやつなら同調しねーよw

80 :
うるせーよ。いいからお前はリファクタリングは
意味がないに同調してればいいんだよ

81 :
このスレ見てからリーダブルコード買って読んだんだけど
あんなのは労働基準も社内ルールも全く違う国の夢物語
いまだ縦社会の日本じゃ到底実現不可なのが現状だよ

82 :
そうか、やはりリーダブルコードの世界が "夢" なんだな

83 :
>>81
大手ゼネコンの多重受けみたいな場合でもなければ融通は効くでしょう
環境のせいではなく不勉強で過去の踏襲しかしないタイプのリーダーしか居ないことが本当の問題
彼らは比較的自由にできるチャンスがある案件でも日本風のやり方しかできない

84 :
そもそも、リファクタリングで同じものができるなんてのは幻想。
絶対に体外的な仕様に影響がでる。

この事実を理解しいいないバカがリファクタリングすると大変なことになる。

85 :
> そもそも、リファクタリングで同じものができるなんてのは幻想。
> 絶対に体外的な仕様に影響がでる。

でるわけないじゃんw

リファクタリングで使用するテクニックは
動きが変わらないと保証されてるものばかり

数学の式の変形とやってることは変わらん

86 :
でもテストはやれよな
いじったとこの影響範囲全部

87 :
>>86
基本的には元々あるテストを流すだけ
ベンチマーク追加して、リファクタリングの有効性を示すことはあるけど

88 :
>>87
元々あるテストを流すだけってなんや?

何十人も動員して、エクセルに書いたテスト仕様書の
通りに実行してテストするんやで

テスト仕様書が曖昧で、毎回これどういう意味ですか?って聞かれるは、
人によってやり方が微妙に違うわで、正しくテストしているか不安だから
同じテストを何人も使って行うんやで

どれだけ金がかかってると思う?
コストがかかるから一年に数回しかできない
その数回で確実なテストを行うんだ。

これが真面目な仕事ぶりっていうもんや
根性見せろや

89 :
>>88
だよね
明らかに作るより金かけてるもんね
テスト流すだけって頭おかしいわ

90 :
>>89
はいキチガイ

91 :
>>90
社会に出ろよボーヤ

92 :
>>91
え、ポチッとボタン押すだけのことがそんなに難しいの?

93 :
>>92
それ単体だけだろ?
結合とシステムテストは?

94 :
>>92
www

95 :
>>93
ニートおつ

96 :
>>88
どうやら30年前の世界に生きてるやつがいるようだ

97 :
30年前の世界を知ってる爺
50代スレに戻ってどうぞ

98 :
>>93
> 結合とシステムテストは?

どういう意味?

結合とシステムテストでバグが一つでも見つかったら、
修正しなきゃいけないってことで、
修正するならば、全部テストやり直しになるので
結合とシステムテストでは原則バグは見つからないという前提

それでもバグは見つかるので、
全部テストするコスト×数回分がテスト全体のコストになる

どれだけ高額になるかわかるだろう?

全部テストっていうのはそれだけのことを年数回やっている

99 :
そのテストを自動化すれば、膨大なテストコストが削減できて、
信頼性も高いテストになりますけど?

100 :
>>98
じゃあなんで動いてるコードいじったの?バカ?


100〜のスレッドの続きを読む
IT業界の悲哀をジブリ風に語るスレ
【相談】プログラミングを独学でやろうと思うんだが
プログラマの雑談部屋 ★83
プログラマーの専門学校ってどうなん?
初心者プログラマの雑談部屋
素人には 8÷2(2+2) を16と答える馬鹿が居るらしい
teratailもりあがっtail? 48問目
【低収入】月70万円以下は主婦レベル【低技術】
基本情報技術者の問題を東方キャラで教える
teratailもりあがっtail? 42問目
--------------------
【上昌広】 安倍のコロナ19でたらめ対応の背後に「帝国軍部の亡霊」〜令和版「犬神家の一族」だ[03/16]
名古屋大学法学部の就職
モバ7【設定39】
【千両箱】埋蔵金発掘が趣味の人【9箱目】
【ダンメモ】ダンまち〜メモリア・フレーゼ〜 part203
□■2019□■F1GP総合 LAP2031□■ハンガリー□■
新潟県の雀荘
【東北の雄】バイタルネット【栄枯盛衰】
【指令】お前らの年賀状作成ソフトを報告せよ!
バーチャル家族で団欒するスレ《山田家》3
Panasonic LUMIX G9 PRO Part6
指差し団の秘密基地😉👉✨38
動物虐待動物病院・動物園
(DDR)AC版DanceDanceRevolution A20 Part348
【PSG】パリ・サンジェルマン part28
そうじが持つ力について 29 ★2
【BnS】ブレイドアンドソウル 質問スレ Part23
【ワイワイ】シャンシャン・パンダ他雑談【モグモグ】68パンダ
ガールフレンド(仮)晒しスレ69ドリアン
【KARA】ク・ハラ応援スレ☆206【Midnight Queen】
TOP カテ一覧 スレ一覧 100〜終まで 2ch元 削除依頼