コードが汚いと開発・修正の工数が10倍になると判明
コードが汚いと開発・修正の工数が10倍になると判明
元スレ
1 :仕様書無しさん:2015/01/30(金) 21:36:52.73 .net
納期に苦しんでいるSEさま必見の情報です。
今すぐコードが綺麗か汚いかを
ツールを使って調査してみましょう
151 :仕様書無しさん:2015/12/26(土) 10:46:12.59 .net
335 :仕様書無しさん:2016/03/18(金) 22:26:09.43 .net
参照可能な変数がたくさん並んでるコード(ry
メソッドの頭からお尻が巨大なtryで囲まれたコードは、人力トライ&エラーの無限ループに陥る
331 :仕様書無しさん:2016/03/18(金) 21:04:27.78 .net
>>329
個人的には、引数やローカル変数は4つ以上だと臭うなぁ
10以上とかはもう見るのも嫌
293 :仕様書無しさん:2016/02/25(木) 23:50:15.73 .net
ツールで計測できる客観的な指標というのは、だめであると言う理由だけ
どうすればいいかまでは教えてくれない。もしどうすればいいのかまで
教えるツールが存在するならば、ツールが勝手に修正できるはずだろう。
107 :仕様書無しさん:2015/09/26(土) 06:40:15.97 .net
OSの入ってるマシンで何かを動かそうとするからめんどくせぇんだよ
インベーダーマシンはインベーダー専用にしろよ
125 :仕様書無しさん:2015/12/14(月) 22:54:16.45 .net
綺麗さの基準が統一性ってのは賛成
統一性の前には
ほとんどの教科書やもてはやされるルールが霞む
クソも統一がとれていれば厳かなクソとなる
130 :仕様書無しさん:2015/12/15(火) 01:00:51.51 .net
174 :仕様書無しさん:2015/12/26(土) 12:49:18.32 .net
>>172
その最初の一瞬だけ見れば済む確認手順を省略するために
名前に長々としたものを書き加える無駄さ
93 :仕様書無しさん:2015/04/28(火) 18:45:01.75 .net
エラーを無視すれば、どんなエラーが出ても
続行できる。
226 :仕様書無しさん:2015/12/27(日) 17:36:37.94 .net
>>224
修正は自動でテストは修正箇所全部だ
テストコードあれば工数は極めて小さくできる
>>225
オブジェクト指向なら尚更だが…
抽象化を柱としているのに型に依存するのは本末転倒
符号付きだろうが符号なしだろうが32bitだろうが64bitだろうが関係ない
数値をどう処理するかにだけ依存するべき
型推論使えばあまり型なんて気にせずにすむぞ
インターフェイスが変わっても修正無しで行けることもある
300 :仕様書無しさん:2016/02/26(金) 06:39:49.50 .net
141 :仕様書無しさん:2015/12/20(日) 02:11:03.71 .net
求めてっつっても、その上層部含め誰もコードを把握してないじゃないか。
する必要すらないし。
139 :仕様書無しさん:2015/12/18(金) 16:01:48.49 .net
基本は外部仕様と一定の速度だけ満たせばいいって会社と、
内部仕様まで完全に綺麗に統一しなきゃだめって会社あるんだよね。
後者は害が多いと思う。
変なことにまで決まりが出来てくるのもそうなんだけど、
そもそも、結局内部実装をきちんと把握して管理できる人は事実上誰も居ないこと。
作者でさえ10日後にはコードを忘れてしまうのに。
235 :仕様書無しさん:2016/02/18(木) 21:31:26.21 .net
同じコードなのに、人によって、書き方(スタイル)が違うのって嫌だよなぁ
common_method1(a, b, c)
x = a, y = b, z = c
common_method1(
x,
y,
z
)
こういうのも汚いよね
grepしにくいし、2,3ならまだしも何十もあると、理解するだけで大変
138 :仕様書無しさん:2015/12/18(金) 09:48:48.96 .net
1行つか1文加えるだけで便利になるのに仕様に無いから削除しろって方が頭ん中疑うわ。
262 :仕様書無しさん:2016/02/20(土) 14:11:34.06 .net
>>235は何十って言ってるじゃん
そこを”2つ”と言い切るのは、変ですな
83 :仕様書無しさん:2015/04/25(土) 22:25:29.99 .net
リカバリ出来るのは正常系やで
それを異常系と呼んで場当たり的な対処で済まそうとするから
見るもおぞましいソースコードが出来上がるんや
16 :仕様書無しさん:2015/02/02(月) 21:08:42.11 .net
コードが汚いとかわりと関係無くて、関数やクラス分けがメチャクチャとかのがデスマーチになり易いよ。
54 :仕様書無しさん:2015/02/08(日) 23:53:56.67 .net
270 :仕様書無しさん:2016/02/24(水) 19:56:01.86 .net
>>コメントでバージョン管理されている
バージョン管理はファイル名だろ。やり直し
48 :仕様書無しさん:2015/02/08(日) 21:53:25.02 .net
>>42
デスマについて多い勘違いだね。
デスマってのは、スケジュールひく前に運命が決まるんだよ?
82 :仕様書無しさん:2015/04/25(土) 22:02:47.66 .net
328 :仕様書無しさん:2016/03/18(金) 20:42:55.79 .net
フォーマッタで整形出来ないってw
それ、コンパイルは通るのか?
302 :仕様書無しさん:2016/02/26(金) 13:35:50.03 .net
265 :仕様書無しさん:2016/02/21(日) 09:42:25.56 .net
使い捨て早死に貧困の助長SEは大迷惑
相場下がって迷惑だから偽装請負の従犯は辞めろ!
・1,000万円/年以下低レベルの会社は辞めろ
・80万円/月以下低レベルの契約は辞めろ
・5,000円/時間以下低レベルの契約は辞めろ
・多重契約は辞めろ
・不利益な現場は辞めろ
・残業見積りは辞めろ
・時間外労働違反は辞めろ
・契約外納期は守るな
・客先指示に従うな
・知的財産を渡するな
・残業しないで学習しろ
・残業しないで副業しろ
・損害は訴えろ
【非婚】SI受注SEは3億円以下の低生涯収入【離婚】
http://hanabi.2ch.net/test/read.cgi/infosys/1451213054/
53 :仕様書無しさん:2015/02/08(日) 23:31:45.37 .net
SEというのは血の巡りが悪いんだから、
プログラマからみれば会議していてもむだ
プログラマの頭の血のめぐりが悪いときは会議でなく散歩だね
会議でじっとしていることが、血行をわるくさせる
会議なんてものはSEの責任逃れ
222 :仕様書無しさん:2015/12/27(日) 17:02:51.33 .net
>>217
影響箇所はもちろん確認するが型だけ変えるのと変数も変えるのとでは大きく違う
型なら全置換で終わる場合もあるが変数名となるとマンパワーが欠かせない
また人がやるからヒューマンエラーが入り込んでくる
規模が大きいと些細なことでも山となる
そもそも型程度が可読性に影響するならそれは糞でかメソッドだと思うがな
233 :仕様書無しさん:2016/02/18(木) 00:11:06.79 .net
198 :仕様書無しさん:2015/12/26(土) 13:59:27.32 .net
154 :仕様書無しさん:2015/12/26(土) 12:04:38.90 .net
2 :仕様書無しさん:2015/01/30(金) 23:53:54.99 .net
89 :仕様書無しさん:2015/04/26(日) 11:54:25.37 .net
>>87
それは論点ずれすぎてるw
わかってないよお前。
197 :仕様書無しさん:2015/12/26(土) 13:58:02.82 .net
284 :仕様書無しさん:2016/02/25(木) 19:05:27.03 .net
47 :仕様書無しさん:2015/02/08(日) 21:51:17.07 .net
42 :仕様書無しさん:2015/02/08(日) 20:27:52.13 .net
>>39
デスマってもともとのスケジュールが悪いのが
大きな原因だけど、
技術力が低いっていうのもやっぱり原因の一つなんだよね。
自分のところの開発フローの効率化も出来ない奴が
他社のシステムの効率化なんて出来ないわけで。
242 :仕様書無しさん:2016/02/18(木) 22:34:10.92 .net
> 80文字ってMSDOS時代じゃないんだから
今はスマホ時代ですよ
269 :仕様書無しさん:2016/02/24(水) 19:49:27.98 .net
247 :仕様書無しさん:2016/02/19(金) 07:04:15.83 .net
>>246
“同じ内容の記述”なんだから、長いとき短いときはないのです
はい
240 :仕様書無しさん:2016/02/18(木) 22:25:25.81 .net
>>239
文字数はMSDOS時代とは関係ない。視野の話。
お前だってその文章、たった半角40文字程度で改行入れてるだろ?
306 :仕様書無しさん:2016/03/07(月) 09:00:44.47 .net
無能実態派遣残業して時間報酬相場下げるな!
【知的財産と契約料金の搾取促進者ばかり】
[生涯損害助長SI受注SEを追放すべき]
偽装請負従犯SEの動機
コミュニケーション障害
コンピュータ趣味
人格障害
文系大卒
低偏差値大卒
情報処理資格非保有者
偽装請負従犯SEの迷惑
無償プログラム提供
事前面接
契約外期限遵守
客先指示遵守
知的財産譲渡
中間搾取促進
低予備工数見積
時間外労働違反
残業見積
無料追加
学習不足
裁判苦手
対人障害
健康障害
孤独死
偽装請負従犯SEの代償
低収入低技術
非婚離婚
鬱病早死
61 :仕様書無しさん:2015/02/10(火) 21:29:57.40 .net
1行目と2行目がまるで噛み合ってない
本人は言いたいこと言えたと思ってるんだろうけど、伝えたいことがまるで伝わらない典型例みたいな文章だな
109 :仕様書無しさん:2015/12/09(水) 21:27:38.16 .net
342 :仕様書無しさん:2016/03/19(土) 15:20:40.58 .net
リファクタリングにもローカル変数が増えてきたらメソッド分ける指標って書いてあったな。
短いスコープならローカル変数はあまり気にならないけど、スクロール必要なスコープで宣言されてるとレビューしててイラっとくる。
298 :仕様書無しさん:2016/02/26(金) 00:04:27.86 .net
>>297
素直に分かってないって言えんのかお前は
63 :仕様書無しさん:2015/02/11(水) 00:42:37.77 .net
259 :仕様書無しさん:2016/02/20(土) 09:56:45.61 .net
初心者はそうだろうな
プログラミングに長けてる奴は適材適所で2、3種類くらいじゃん?
158 :仕様書無しさん:2015/12/26(土) 12:10:58.91 .net
221 :仕様書無しさん:2015/12/27(日) 17:00:56.87 .net
85 :仕様書無しさん:2015/04/25(土) 23:28:48.57 .net
149 :仕様書無しさん:2015/12/26(土) 09:06:29.63 .net
日本語プログラムってエディタで書いて実行するだけなら、問題は起きないよね
周辺ツール(チェックツールとか)が対応していなかったりするから、日本語はやっぱり避けてる
152 :仕様書無しさん:2015/12/26(土) 11:44:46.31 .net
24 :仕様書無しさん:2015/02/03(火) 12:03:46.85 .net
>>23
そのシステムの画面か、データベースに直接、データを登録するとかじゃないの?
325 :仕様書無しさん:2016/03/17(木) 15:41:25.87 .net
俺が思う、メンテできない酷いコード(パート1)
・タブ、空白のインデントがあちこちで乱れている
とにかく汚ねえ!
350 :仕様書無しさん:2017/06/08(木) 21:17:42.88 .net
163 :仕様書無しさん:2015/12/26(土) 12:21:25.69 .net
つまり連続物かどうかがわかれば良い話で
listとsをわざわざ分けて名前を付ける必要があるのかと
243 :仕様書無しさん:2016/02/18(木) 22:55:09.92 .net
343 :仕様書無しさん:2016/03/20(日) 02:15:30.33 .net
cssでこういう↓汚いゴミを書く奴
<div class=”width-100 font-size-15″>
.width-100 {
width: 100%;
}
.font-size-15 {
font-size: 15px;
}
30 :仕様書無しさん:2015/02/07(土) 11:23:31.53 .net
>>28
すまんが、お前の指摘は
コールスタックだけだよな?
33 :仕様書無しさん:2015/02/07(土) 17:04:35.15 .net
話がそれるかもだが、以前ローカル変数で1Mぐらいのバッファを宣言してるのを見てびっくりした。
スタック溢れないの?と聞いたら、ダイナミックスタックだから溢れない。と言われて、さらにびっくりした。
216 :仕様書無しさん:2015/12/27(日) 13:46:25.57 .net
>>212
3の1択
型変わるときに変数名に型あるとミスリードする可能性がある
昔short使っていてそれをintに変えるからと修正したらとんでもない無駄な工数が発生する
型推論も随分広まってきたから型の判断は統合環境に任せればいい
307 :仕様書無しさん:2016/03/07(月) 13:26:53.10 .net
>>305
心が汚い俺は
極力他人に責任を擦り付けるように
簡潔で綺麗なコード書いてるぞ
237 :仕様書無しさん:2016/02/18(木) 21:44:51.47 .net
わかるよ
1行の文字数は、もちろん長すぎるのも読みにくいけど
一番読みにくいのが1行1文字みたいな使い方。
見易さに気を使ってるのかもしれないけど
見たいのは一つ一つの命令じゃなくて前後を含めた広範囲のロジックだから
スクロールせず1画面でできるだけ多くの情報を見たいわけで
だからってコメントも空行もなしじゃ境がわかりにくいので
何事も程々にだな
103 :仕様書無しさん:2015/09/18(金) 07:18:35.22 .net
>>102
確かにブロック化すればスコープも解決できるし
簡単といえば簡単だな、可読性も段違いで良くなるし
166 :仕様書無しさん:2015/12/26(土) 12:24:04.39 .net
>>163
>>161を書いたけど、必要に迫られるケースがあるんだよ
ListとArrayで大幅にメソッドが違う言語では特に
ListとArrayがほぼ同じ扱いな言語とは話が違ってきたり
17 :仕様書無しさん:2015/02/02(月) 21:38:37.36 .net
137 :仕様書無しさん:2015/12/15(火) 15:31:50.56 .net
150 :仕様書無しさん:2015/12/26(土) 10:30:49.19 .net
>>148
sは配列のときに使う。
リストのときは_listがいい。
配列とリストを相互に変換するときわけがわからなくなる。
_listだ。_listにしとけ。_listはすばらしい。
176 :仕様書無しさん:2015/12/26(土) 12:51:15.91 .net
>>174
可読性ってそういうものだよ。
書くのが面倒でも、読みやすさの方を優先するべき。
どうせ補完機能で、書く面倒さは軽減されるんだから。
92 :仕様書無しさん:2015/04/26(日) 15:27:09.91 .net
>>83
そうなんだよね。
リカバリー出来る様にするならそれは正常系なんだよ。
設計のバカが担当が異常系で処理させれば済むって事で
初期の設計に入れてないんだよw
レスを投稿する(名前省略可)