コーディングの掟

コーディングの掟(最強作法) 現場でよく見る不可解なJavaコードを一掃せよ! (開発の現場セレクション)

コーディングの掟(最強作法) 現場でよく見る不可解なJavaコードを一掃せよ! (開発の現場セレクション)


泣いた。思い当たる節ありすぎて泣いた。


本書はコーディングする上で犯しやすい過ちを具体的に例示しながらツッコミを入れるというものである。
掲載されているコードはJava メインであるが、それ以外の言語をお使いの方にも十分読む価値はあると思います。

public static int INT_1 = 1 のような無意味な定数定義。Globalクラスなどの巨大な共通クラスによる定数管理。継承関係を活用できていないクラス(やたら、this.やsuper.が多い場合にこの可能性がある、というのを読んで長年の疑問が晴れた。そんな書き方してたコードを見かけて謎だったので。)
などなど。


なぜこのような自体に陥るのだろう。よくある解決策はきっちり規約を作る、などである。では上記の例の場合規約は作られていなかったのか、または規約が守られていなかったのか。
本書を読みながら自分の経験も振り返ってみると、むしろ逆の方が多いのではないかと感じる。規約はある。ちゃんと規約に従っている、それでもだめな場合がある。
無意味な定数定義の場合も、規約で「リテラルは直接埋め込まないように。」というのを忠実に守った結果ともいえる。

おいおい、それはおかしいだろう、とか、それはやり過ぎなんじゃないの、みたいな歯止めが効いていない場合に不幸は始まるのかな。

あと、バッドノウハウや、何となく対処したやり方が伝統として後輩に伝えられいき、それが規約として文書化されたために、誤ったやり方が連綿と受け継がれてしまう場合とか。やはり、与えられたものを無自覚的に受け入れるのではなく、なぜそうなったのか、もっとよいやり方はないのか、常に考え続ける姿勢が大事なのではないか、とかいろいろ考えされられる本でした。