機能追加や変更した時に、全部テストしてるでしょ?
いつもやってることじゃん
よくある応答のパターン
1. 必要もないのにリファクタリングを勝手にやるな
⇒ 客などから修正を要求するときに行うので、勝手にやることはありません
2. 修正の指示は出したがリファクタリングの指示は出してない
⇒ 修正工程の一つに含まれる作業なので修正と分離することは不可能です
3. リファクタリングすると動きが変わるだろ
⇒ 動きを変えないのがリファクタリングです
4. リファクタリングしたら全部テストしなきゃならないだろ
⇒ 修正しろと客などから言われたんだから修正するしか無い
どちらにしろ全部テストするんだろう?
前スレ
リファクタリングすると全部テストしろと言ってくる奴の矛盾2
https://medaka.5ch.net/test/read.cgi/prog/1526720757/
リファクタリングすると全部テストしろと言ってくる奴の矛盾3
■ このスレッドは過去ログ倉庫に格納されています
2018/10/29(月) 19:39:29.27
2018/10/30(火) 00:34:02.46
え?でもやっぱり今回の改修で他の機能までバグるのはおかしいですよね?
共通ルーチン?
なんで分けて改修しないんですか?
テスト全部やり直してくださいよ
もう一回やったら訴えますよ
これが現実
震えて眠れ
共通ルーチン?
なんで分けて改修しないんですか?
テスト全部やり直してくださいよ
もう一回やったら訴えますよ
これが現実
震えて眠れ
2018/10/30(火) 01:30:02.07
> 共通ルーチン?
> なんで分けて改修しないんですか?
分けて二箇所改修する意味は?
> なんで分けて改修しないんですか?
分けて二箇所改修する意味は?
2018/10/30(火) 01:31:48.92
え?でもやっぱり今回の改修でバグは治ったんじゃないんですか?テストしたんですよね?
テストはした箇所は治っていました。ですが似たような箇所で同じような計算をしていて
そちらは治っていませんでした。軽く検査した所、同じような計算が10箇所ありましたので
その改修とテストに今回の10倍の時間と費用がかります。
テストはした箇所は治っていました。ですが似たような箇所で同じような計算をしていて
そちらは治っていませんでした。軽く検査した所、同じような計算が10箇所ありましたので
その改修とテストに今回の10倍の時間と費用がかります。
2018/10/30(火) 01:34:55.63
なんで共通化しないんですか?
それはね。あなたから開発費をせしめるためですよ
それはね。あなたから開発費をせしめるためですよ
2018/10/30(火) 01:57:05.61
片方問題がなかったら、それはもう設計時点の問題だな
違う処理であるべきなのに、同じ処理にしてしまったんだから
違う処理であるべきなのに、同じ処理にしてしまったんだから
2018/10/30(火) 06:54:44.63
>>7
え?想像力がたりなさすぎない?
一つは精度が必要なときとかfloatで十分、doubleでないとダメ
条件が特定のルーチンしか通らないとか
いくらでもあるぜ
お前一つも浮かばなかったの?
プログラマやめちゃえよ
設計なんか語るレベルにないじゃん
え?想像力がたりなさすぎない?
一つは精度が必要なときとかfloatで十分、doubleでないとダメ
条件が特定のルーチンしか通らないとか
いくらでもあるぜ
お前一つも浮かばなかったの?
プログラマやめちゃえよ
設計なんか語るレベルにないじゃん
10仕様書無しさん
2018/10/30(火) 07:38:48.78 > 一つは精度が必要なときとかfloatで十分、doubleでないとダメ
修正内容が「精度を上げたい」なら共通関数を変更するべきだが、
「一箇所だけ精度を上げたい」ならば、そのときに分ければいいの
おかしいでしょ?精度を上げたい箇所を明確にしないまま作業するなんて
まず先に精度を上げたい場所がどこかが決まる。
そしてそれはリファクタリングではなくて単なる仕様変更
一箇所だけ精度をえるという仕様変更
その違いもわからないなら、プログラマやめたほうがいいよ
修正内容が「精度を上げたい」なら共通関数を変更するべきだが、
「一箇所だけ精度を上げたい」ならば、そのときに分ければいいの
おかしいでしょ?精度を上げたい箇所を明確にしないまま作業するなんて
まず先に精度を上げたい場所がどこかが決まる。
そしてそれはリファクタリングではなくて単なる仕様変更
一箇所だけ精度をえるという仕様変更
その違いもわからないなら、プログラマやめたほうがいいよ
11仕様書無しさん
2018/10/30(火) 07:43:42.21 >>9
> 条件が特定のルーチンしか通らないとか
設計が破綻してる
func() { A処理 and B処理 } があって?
一つは、A処理 B処理 両方通って
もう一つが A処理 のみしか通らないなら
func 内部で条件フラグとかで分けるんじゃなくて
呼び出し側で、A処理を行うA() と B処理を行うB() を呼び出す
もう一つは、A処理を行うA() のみを呼び出すの
クソコードによくある。長い関数でグダグダやっていて
特定の場合だけ処理を分けたいから、フラグを追加してフラグみて
片方だけ実行とかね。ほんとコレ、クソコード
> 条件が特定のルーチンしか通らないとか
設計が破綻してる
func() { A処理 and B処理 } があって?
一つは、A処理 B処理 両方通って
もう一つが A処理 のみしか通らないなら
func 内部で条件フラグとかで分けるんじゃなくて
呼び出し側で、A処理を行うA() と B処理を行うB() を呼び出す
もう一つは、A処理を行うA() のみを呼び出すの
クソコードによくある。長い関数でグダグダやっていて
特定の場合だけ処理を分けたいから、フラグを追加してフラグみて
片方だけ実行とかね。ほんとコレ、クソコード
12仕様書無しさん
2018/10/30(火) 08:00:14.00 >>9
> 条件が特定のルーチンしか通らないとか
そもそも言ってることがおかしくない?
func() { Aルーチン and Bルーチン } があって条件が特定のルーチンしか通らないんでしょ?
片方は Aルーチン と Bルーチンの 両方を通る。もう片方はAルーチンのみを通るということだ
修正箇所がBルーチンなら片方は修正されるし、もう片方はそもそも通らないのだから関係ない話
だからAルーチンが修正箇所ということになるが、
「条件が特定のルーチンしか通らない」とはどういうことだ?
両方共、修正箇所のAルーチンを通ってるではないか?
> 条件が特定のルーチンしか通らないとか
そもそも言ってることがおかしくない?
func() { Aルーチン and Bルーチン } があって条件が特定のルーチンしか通らないんでしょ?
片方は Aルーチン と Bルーチンの 両方を通る。もう片方はAルーチンのみを通るということだ
修正箇所がBルーチンなら片方は修正されるし、もう片方はそもそも通らないのだから関係ない話
だからAルーチンが修正箇所ということになるが、
「条件が特定のルーチンしか通らない」とはどういうことだ?
両方共、修正箇所のAルーチンを通ってるではないか?
13仕様書無しさん
2018/10/30(火) 08:02:02.33 一言で言うならば共通関数の中に、
AルーチンとかBルーチンのようなエリアができてる時点でクソ
AルーチンとかBルーチンのようなエリアができてる時点でクソ
14仕様書無しさん
2018/10/30(火) 08:15:30.49 「精度上げてっていったのに上がってないんだけど?」
この関数は上げましたよ?でも他の部分がfloatのままなので
他に渡すときにfloatに変換されますねぇ
他の部分を変更しろとは言われてないしーwww
この関数は上げましたよ?でも他の部分がfloatのままなので
他に渡すときにfloatに変換されますねぇ
他の部分を変更しろとは言われてないしーwww
16仕様書無しさん
2018/10/30(火) 21:26:03.00 たいていけんか腰のやつって中身のない議論するんだよなあ
18仕様書無しさん
2018/10/31(水) 05:16:08.64 共通関数があるとして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 版である。
何かを修正するのと、新しく精度違う版が必要になった(機能追加)のを
ごっちゃにするんじゃねーよ
単に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 版である。
何かを修正するのと、新しく精度違う版が必要になった(機能追加)のを
ごっちゃにするんじゃねーよ
20仕様書無しさん
2018/10/31(水) 17:14:17.74 >>19
まず「そういう修正」の中身を明らかにしようか?
floatをdoubleに変えるのは"仕様変更"である
リファクタリングは仕様を変えないものなのだから
仕様を変えると言っている以上、これはリファクタリングではない
リファクタリングなら当然既存を修正する
繰り返すが、既存を修正する
お前が言ってる「そういう修正」の中身は
「他の処理は変えずに一部分だけ精度を上げるという仕様変更のための修正」だ
まず「そういう修正」の中身を明らかにしようか?
floatをdoubleに変えるのは"仕様変更"である
リファクタリングは仕様を変えないものなのだから
仕様を変えると言っている以上、これはリファクタリングではない
リファクタリングなら当然既存を修正する
繰り返すが、既存を修正する
お前が言ってる「そういう修正」の中身は
「他の処理は変えずに一部分だけ精度を上げるという仕様変更のための修正」だ
21仕様書無しさん
2018/10/31(水) 17:20:06.36 え?でもやっぱり今回の改修で他の機能までバグるのはおかしいですよね?
リファクタリングもしたからバグったって?
いやいや、リファクタリングをは動きを変えないものだから
それでバグるわけ無いでしょ?
改修内容を間違えたんですよね。一部分だけ修正しろと言ったのに
全部修正したんですよね?リファクタリングのせいにしないでください
もう一回うそついたら訴えますよ
これが現実
震えて眠れ
リファクタリングもしたからバグったって?
いやいや、リファクタリングをは動きを変えないものだから
それでバグるわけ無いでしょ?
改修内容を間違えたんですよね。一部分だけ修正しろと言ったのに
全部修正したんですよね?リファクタリングのせいにしないでください
もう一回うそついたら訴えますよ
これが現実
震えて眠れ
23仕様書無しさん
2018/10/31(水) 17:28:45.81 ウチとエンドの客の受入れ試験のお金も君が出してくれるならその範囲を変更してもいいよ
って普通に言われるだろ
仕事はお前だけが回してるわけじゃない
小さい会社でばっかり組んでるとヤバイな
って普通に言われるだろ
仕事はお前だけが回してるわけじゃない
小さい会社でばっかり組んでるとヤバイな
25仕様書無しさん
2018/10/31(水) 18:02:20.5427仕様書無しさん
2018/10/31(水) 18:25:28.78 >>26
何度も言うが、リファクタリングは動きを変えないものなんだから
共通処理を変えた所で動きは変わらない
修正内容が共通処理部分なんだろ?
ならリファクタリングしなかったとしても共通処理を修正するだろ
ということでここからはリファクタリングとは関係ない話だぞ
なら共通処理を修正するなら、テストもするわけだ
共通処理をコピーしたとしても、テストの数は変わらない
俺はあたり前のことしか言ってないぞ
何度も言うが、リファクタリングは動きを変えないものなんだから
共通処理を変えた所で動きは変わらない
修正内容が共通処理部分なんだろ?
ならリファクタリングしなかったとしても共通処理を修正するだろ
ということでここからはリファクタリングとは関係ない話だぞ
なら共通処理を修正するなら、テストもするわけだ
共通処理をコピーしたとしても、テストの数は変わらない
俺はあたり前のことしか言ってないぞ
28仕様書無しさん
2018/10/31(水) 18:28:04.96 リファクタリングといいながら、リファクタリングとは
関係ない話ばっかりしてるんだもんなぁw
あきれるよ。
単に共通処理を修正(仕様変更)する時、
コピーして修正(仕様変更)するか
コピーせずに修正(仕様変更)するの話じゃんか
関係ない話ばっかりしてるんだもんなぁw
あきれるよ。
単に共通処理を修正(仕様変更)する時、
コピーして修正(仕様変更)するか
コピーせずに修正(仕様変更)するの話じゃんか
30仕様書無しさん
2018/10/31(水) 18:36:50.17 今回の修正で共通処理をいじったんだな?
ちゃんと共通処理のテストをしたのか?
共通処理の中は、エリアが2つに分かれていて、
今回の修正で影響がある部分はテストしました
どういう意味だ?
今回のテストは共通処理の中のエリアBを通りますが、
他の部分からエリアBを通る部分はないはずです。
だから他の部分は影響がないはずです。
だから共通処理を修正しましたが、共通処理自体のテストはしてません
今回の修正内容に関する部分だけテストしました。
テストやり直しな
ちゃんと共通処理のテストをしたのか?
共通処理の中は、エリアが2つに分かれていて、
今回の修正で影響がある部分はテストしました
どういう意味だ?
今回のテストは共通処理の中のエリアBを通りますが、
他の部分からエリアBを通る部分はないはずです。
だから他の部分は影響がないはずです。
だから共通処理を修正しましたが、共通処理自体のテストはしてません
今回の修正内容に関する部分だけテストしました。
テストやり直しな
31仕様書無しさん
2018/10/31(水) 18:37:51.23■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 【サッカー】Jリーグ観客動員が歴代最多を更新 初の「1300万人超え」達成…平均入場者数も史上最高に [尺アジ★]
- サナエノミクスについて力説 積極的な財政出動で「所得増える 消費マインド上がる 税収増える」片山さつき財務大臣 ★3 [少考さん★]
- 鈴木農相「おこめ券はお米しか買えないわけではない。例えば卵、味噌、しょうゆ、こうした購入に利用可能」 ★4 [Hitzeschleier★]
- 山里亮太、フィリピンに子ども食堂を建設 「偽善者」「日本の子どもを助けるべき」の声があっても活動を続ける理由 [Anonymous★]
- 【芸能】粗品、日本テレビに苦言 客のレベルが「かなり低い。あいつら分かってない」「拍手したいだけやねん」 [冬月記者★]
- 中国軍機のレーダー照射1週間 駆け引き続く 中国、米のレッドライン模索 日本、米以外の同志国とも連携探る 米は対立から距離置く★2 [ぐれ★]
- 【朗報】イーロン・マスク「AIとロボットで誰も働かなくて良くなる。全員ニートで金銭も税金もないパラダイスみてぇな国を作りてえ」 [347751896]
- 【悲報】女の謝り方、世界共通だったwwwwwwwwwwwwwwwwwwwwwwwww [279254606]
- バフェットみたいに株で金持ちになった人いるじゃん
- ( ・᷄ὢ・᷅ )今はフリーです
- 女子中学生、男子に初めてクリをイジられてすぐにイッてしまうwwwwwwwwwwwwwwwwwwww
- お前らは詰んでる
