1:仕様書無しさん2015/09/12(土) 10:34:48.38 .net
この事実を発見してから我が社では既存のコードを修正し、
行数(正確にはステップ数)を極限までに減らす修正をすることで
バグを大幅に減らして生産性も大きく上げる事に成功した。

行数(正確にはステップ数)を極限までに減らす修正をすることで
バグを大幅に減らして生産性も大きく上げる事に成功した。
2:仕様書無しさん2015/09/12(土) 11:41:44.60 .net
>>1
可読性まで犠牲にして逆にバグが発見でき無いコードにならんようにな。
可読性まで犠牲にして逆にバグが発見でき無いコードにならんようにな。
3:仕様書無しさん2015/09/12(土) 14:50:35.49 .net
縦スパゲッティか横スパゲッティの違いじゃないの?
4:仕様書無しさん2015/09/12(土) 14:56:15.81 .net
できるだけ改行しなければいいのか。
そんなソースコードとは関わりたくないが。
そんなソースコードとは関わりたくないが。
5:仕様書無しさん2015/09/12(土) 15:09:44.46 .net
全部1行で書けば良いんだな。
6:仕様書無しさん2015/09/12(土) 16:24:51.96 .net
アホやw
行数よりも
コードの見やすさとコメント量の方が大事
誰が見てもわかりやすいコーディング
メンテで差がつく
行数よりも
コードの見やすさとコメント量の方が大事
誰が見てもわかりやすいコーディング
メンテで差がつく
7:仕様書無しさん2015/09/12(土) 16:30:30.70 .net
でもコードの行数がすくなければ
メンテする量も減るんですよ。
メンテする量も減るんですよ。
8:仕様書無しさん2015/09/12(土) 17:00:07.26 .net
>>7
そりゃ、処理、機能がないんだからそうなるなw
そりゃ、処理、機能がないんだからそうなるなw
9:仕様書無しさん2015/09/12(土) 18:01:10.45 .net
コメントも多すぎると、そのコメントのメンテナンスも
必要になるから、コメントも少ないほうがいい。
必要になるから、コメントも少ないほうがいい。
10:仕様書無しさん2015/09/12(土) 18:06:43.59 .net
>>9
おまえが文章書くのが苦手なのは分かった。
おまえが文章書くのが苦手なのは分かった。
11:仕様書無しさん2015/09/12(土) 18:10:05.58 .net
>>10
どこかまずい所があったら直しますんで、
具体的に指摘してみてください。
どこかまずい所があったら直しますんで、
具体的に指摘してみてください。
14:仕様書無しさん2015/09/12(土) 18:54:26.57 .net
こんなん当たり前の話とちがうん?
昔のエライ人が言ってだろう?
「シンプル・イズ・ベスト」
簡単なモノは壊れにくい。複雑なモノほど壊れやすい。
これはプログラムコードにも当てはまるんよ。
俺はもう設計屋だから、コード書かせるときに必ず若いもんにこれ言うわ。
昔のエライ人が言ってだろう?
「シンプル・イズ・ベスト」
簡単なモノは壊れにくい。複雑なモノほど壊れやすい。
これはプログラムコードにも当てはまるんよ。
俺はもう設計屋だから、コード書かせるときに必ず若いもんにこれ言うわ。
15:仕様書無しさん2015/09/12(土) 19:50:30.60 .net
>>14
その当たり前のことが出来ないんだよね。
ソフトウェアの難しいのは、
バージョンアップしていく所。
大きい物と小さい物は作り方が違うんだけど、
小さく作って大きくしていく時に、
既存の部分を大きい作り方に直さないといけないんだけど、
「既存の部分に手を付けるな」とかいう馬鹿な奴が
指揮をとると、どんどん複雑になって手がつけられなくなる。
既存の部分を修正すれば、1.1の量で済むことが、
手を付けれないからコピーして、2になる。
その当たり前のことが出来ないんだよね。
ソフトウェアの難しいのは、
バージョンアップしていく所。
大きい物と小さい物は作り方が違うんだけど、
小さく作って大きくしていく時に、
既存の部分を大きい作り方に直さないといけないんだけど、
「既存の部分に手を付けるな」とかいう馬鹿な奴が
指揮をとると、どんどん複雑になって手がつけられなくなる。
既存の部分を修正すれば、1.1の量で済むことが、
手を付けれないからコピーして、2になる。
16:仕様書無しさん2015/09/12(土) 21:44:56.56 .net
本当に手を付けられないコードは、ある。
コードに手を入れればコード増加は少ないだろうが、リグレッションテストの工数が増えるだろ?
どっちの工数が少ないか秤にかけ、コードに手を入れない事は、フツウにあるだろ?
どっちがいいかは、プログラマには関係ないことだ。
コードに手を入れればコード増加は少ないだろうが、リグレッションテストの工数が増えるだろ?
どっちの工数が少ないか秤にかけ、コードに手を入れない事は、フツウにあるだろ?
どっちがいいかは、プログラマには関係ないことだ。
18:仕様書無しさん2015/09/12(土) 23:42:51.35 .net
>>16
> どっちがいいかは、プログラマには関係ないことだ。
いや、プログラマが判断することだろ。
> どっちがいいかは、プログラマには関係ないことだ。
いや、プログラマが判断することだろ。
17:仕様書無しさん2015/09/12(土) 22:05:13.11 .net
> リグレッションテストの工数が増えるだろ?
そうならないように自動化すればいい。
結局オレが言ってることと一緒で、
手を入れるから増えるのではなく、
手遅れになってるから増えるんだよ。
そうならないように自動化すればいい。
結局オレが言ってることと一緒で、
手を入れるから増えるのではなく、
手遅れになってるから増えるんだよ。
21:仕様書無しさん2015/09/13(日) 01:01:54.35 .net
自動化なんかしたら工数減るだろ!
22:仕様書無しさん2015/09/13(日) 04:20:58.66 .net
シンプルなソースと行数は相関関係がないと思うんだが
一行に纏めて読みづらいif文よか5行でも読みやすい方が
保守工数は減るんでね
一行に纏めて読みづらいif文よか5行でも読みやすい方が
保守工数は減るんでね
24:仕様書無しさん2015/09/13(日) 18:00:38.85 .net
>>22
共通関数用意してるのに使えないから誰も使わなくて至る所で同じような処理が行われてるとか、
しかもそれが微妙に違うから各モジュールでデータをやり取りするときに変換かけないといけないとか
そういうのは?
共通関数用意してるのに使えないから誰も使わなくて至る所で同じような処理が行われてるとか、
しかもそれが微妙に違うから各モジュールでデータをやり取りするときに変換かけないといけないとか
そういうのは?
28:仕様書無しさん2015/09/13(日) 21:06:13.85 .net
行数が問題なんじゃねえよ
instructionが少なくなるように書けっつってっだろ?
instructionが少なくなるように書けっつってっだろ?
29:仕様書無しさん2015/09/13(日) 23:10:18.70 .net
>>28
>>1の
> 行数(正確にはステップ数)を
を読んでますか?
>>1の
> 行数(正確にはステップ数)を
を読んでますか?
31:仕様書無しさん2015/09/14(月) 07:09:08.63 .net
>>29
はあ?
instructionだよアホ
頭ん中で簡単なアセンブリしながら書けっての
はあ?
instructionだよアホ
頭ん中で簡単なアセンブリしながら書けっての
32:仕様書無しさん2015/09/15(火) 02:02:28.77 .net
if文に関数コール埋め込んだりすると行数は減るがデバッガで追いにくくなるんだが
34:仕様書無しさん2015/09/15(火) 12:33:59.71 .net
>>32
最近はデバッガで追うようなことはしなくなってるよ。
まずはテストコードが書けるようなシンプルな関数を作る。
テストコードがあればデバッガはほとんど必要ない。
最近はデバッガで追うようなことはしなくなってるよ。
まずはテストコードが書けるようなシンプルな関数を作る。
テストコードがあればデバッガはほとんど必要ない。
36:仕様書無しさん2015/09/15(火) 22:26:56.30 .net
>>34
いいこと言うなあ
その通りだよな
いいこと言うなあ
その通りだよな
38:仕様書無しさん2015/09/16(水) 01:38:23.18 .net
>>34
テストが通らないときはどうするの?
テストが通らないときはどうするの?
39:仕様書無しさん2015/09/16(水) 04:29:24.38 .net
>>38
ソースコードを眺めて(セルフレビュー)して
間違いを見つける。
これができない=コードが複雑 ということ
ソースコードを眺めて(セルフレビュー)して
間違いを見つける。
これができない=コードが複雑 ということ
40:仕様書無しさん2015/09/16(水) 06:56:26.57 .net
>>39
のんびりとした開発してるんだね
のんびりとした開発してるんだね
43:仕様書無しさん2015/09/16(水) 10:38:38.57 .net
>>40
コード読むとのんびり?
あんた、他人がコードレビューしてないの?
読むのに時間がかかるコードだから?
終わってるねw
コード読むとのんびり?
あんた、他人がコードレビューしてないの?
読むのに時間がかかるコードだから?
終わってるねw
45:仕様書無しさん2015/09/16(水) 13:12:44.83 .net
>>43
レビューはデバッグの時間じゃないぜ
レビューはデバッグの時間じゃないぜ
46:仕様書無しさん2015/09/16(水) 13:39:49.39 .net
>>45
そうだよ?
レビューとデバッグは両方やるし、その両方でコードを読む。
だからコードはスムーズに読めるに、なっていなければならない。
コードは解析するものじゃない。
デバッグで解析は楽ですーっていっても、
レビューでコードを読むわけで、コードを読む=のんびり。であるなら
まずその問題を解決しなければならないよね?
で、その問題が解決できれば、コードを読んでバグの修正もできる。
そうだよ?
レビューとデバッグは両方やるし、その両方でコードを読む。
だからコードはスムーズに読めるに、なっていなければならない。
コードは解析するものじゃない。
デバッグで解析は楽ですーっていっても、
レビューでコードを読むわけで、コードを読む=のんびり。であるなら
まずその問題を解決しなければならないよね?
で、その問題が解決できれば、コードを読んでバグの修正もできる。
47:仕様書無しさん2015/09/16(水) 15:00:27.70 .net
>>46
問題にしているのは、コードを読む時間ではない。
バグの修正にデバッガを使わないことで無駄になる時間を問題にしている。
あるバグを修正するのに、デバッガを使えば1分で原因が特定できたのに
使わなかったために原因の特定に10分かかった場合は、9分間給料泥棒
やってたことになる。
30分コード見ても原因が特定できずに、結局デバッガ使うことになったら
30分まるまる給料泥棒だ。
問題にしているのは、コードを読む時間ではない。
バグの修正にデバッガを使わないことで無駄になる時間を問題にしている。
あるバグを修正するのに、デバッガを使えば1分で原因が特定できたのに
使わなかったために原因の特定に10分かかった場合は、9分間給料泥棒
やってたことになる。
30分コード見ても原因が特定できずに、結局デバッガ使うことになったら
30分まるまる給料泥棒だ。
48:仕様書無しさん2015/09/16(水) 15:13:17.77 .net
>>47
そもそも、デバッガを使っても
時間は短くならない。
そもそも、デバッガを使っても
時間は短くならない。
49:仕様書無しさん2015/09/16(水) 15:17:56.63 .net
>>48
そりゃ酷いコードだ
そりゃ酷いコードだ
50:仕様書無しさん2015/09/16(水) 15:31:48.72 .net
>>49
逆w
酷いコードだと
中で何やってるかわからないから
デバッガ使って動かしてみないとわからない。
ちなみに基本的にコードレビューというのは
実行しないで行う。
逆w
酷いコードだと
中で何やってるかわからないから
デバッガ使って動かしてみないとわからない。
ちなみに基本的にコードレビューというのは
実行しないで行う。
33:仕様書無しさん2015/09/15(火) 08:42:35.42 .net
三項演算子とかも二重三重にまとめ書きして行数減らすのが推奨?
解読困難になるけど
解読困難になるけど
35:仕様書無しさん2015/09/15(火) 20:55:41.82 .net
コーディングスタイルで行数を減らすって話じゃないだろ
その機能を実現するのに最適なロジックを選択したら行数も減るってことの裏返しを言ったんだよな?>>1
その機能を実現するのに最適なロジックを選択したら行数も減るってことの裏返しを言ったんだよな?>>1
52:仕様書無しさん2015/09/18(金) 21:01:01.79 .net
同じコードを2度書くな
大切なことだからもう一度書いとくよ
同じコードを2度書くな
コードの行数は減ることが多い
単体レベルのテストは減る
同等のコードなので生産性は上がらない
コードが分散しないのでバグは減る
同じコードを2度書くな(大切なのでry
違和感があるときはリファクタリングのタイミング
大切なことだからもう一度書いとくよ
同じコードを2度書くな
コードの行数は減ることが多い
単体レベルのテストは減る
同等のコードなので生産性は上がらない
コードが分散しないのでバグは減る
同じコードを2度書くな(大切なのでry
違和感があるときはリファクタリングのタイミング
53:仕様書無しさん2015/09/19(土) 10:38:44.77 .net
>>52
二度以上書かないとならない数行のコードなんて普通にあるから。
おまいの書いた内容程度の行数なら何回でも同じコードを書いてもいいよw
二度以上書かないとならない数行のコードなんて普通にあるから。
おまいの書いた内容程度の行数なら何回でも同じコードを書いてもいいよw
56:仕様書無しさん2015/09/19(土) 11:58:18.51 .net
>>52
大切なことだから何度も同じコードを書いてるってこと?
大切なことだから何度も同じコードを書いてるってこと?
54:仕様書無しさん2015/09/19(土) 11:09:54.23 .net
類似性のある複数のコードは、相違点だけを引数とかで吸収するようにして纏めてしまえ、てことなんでしょ
纏め方も、サイズ重視か速度重視かで関数なのかマクロなのか変わるだろうけど
纏め方も、サイズ重視か速度重視かで関数なのかマクロなのか変わるだろうけど
58:仕様書無しさん2015/09/19(土) 15:37:44.61 .net
>>54
似てるからまとめました
は後でメンテするときに非常に迷惑。
似てるからまとめました
は後でメンテするときに非常に迷惑。