- 変数・関数の命名規則が一定していない。特にグローバルな変数とローカルな変数の命名規約が区別されてないので、if()とかのフラグで使われていても、グローバルなのかローカルなのか一々確認しないといけない。 - 変数・関数名が短すぎる。名が体を表してない。つまり、一々ソースをgrepして確認して、覚えておかないといけない。 この時点でソースコードを読む気力が大体、マイナス50%。 あと、たった今出くわしたソースで、 - バイナリデータでやりとりする、それもクロスプラットフォームなデータの構造体をpackで穴埋めサイズを調整してない。=コンパイラ任せ。 この時点で保守作業のやる気が大体、マイナス50%。 箱庭SIerの書いたソースコードは二度と読みたくない。SAN値を削り取られる。 同じSIerでも、そんなに読みづらさを感じない場合もあるんだけれど、そういうソースって、大概OSSの世界に首突っ込んでたり、言語やOSを複数使ってたり、幅広い現場でさまざまなコードと付き合ったりしてるプログラマが書いてる。 読みやすいコードって結局、変な癖が無くて、「他人が読んでも分かるように」最初から意識されて素直に書かれてるソースなんだよね。