日々常々

ふつうのプログラマがあたりまえにしたいこと。

CleanCode

Clean Code アジャイルソフトウェア達人の技

Clean Code アジャイルソフトウェア達人の技

タイトルの辺りにはJavaとは書いていませんが、序盤からは兎も角としてコードが大量に出てくる中盤以降はJavaばっかりです。Javaに拒絶反応があるような人には微妙かもしれませんが、序盤部分だけでも値段相応の価値があります。はっきりお勧め。分厚い上、内容も容易ではなく、値段もそれなりにしますが、Java技術者を自称するならば読んでおくべきだと思います。
タイトルだけだと勘違いするかもしれないので言っておきますが、この本は教科書ではありませんので注意してください。思想書や哲学書と言った方がよいかもしれません。お手本となるコードは確かに書かれていますが、真似したからといってCleanCodeになるとは限りません。それどころか、理解せず真似すると駄目なコードになる可能性も高いです。大量のコードが書かれていますが、そのコードはあくまで思想を使える手段であり、読むためのものです。間違ってもコピペするようなものではありません。ちゃんと読めばこの辺りも理解できると思います。

ソースコードは文章です。物語を読むように、ソースコードは読める事が理想です。この本ではそう言ったコードをCleanCodeと呼称しています。そして、理想であるCleanCodeに近づける手段、考え方について書かれています。CleanCodeを目指す事が、そのままバグが少なく、不具合箇所があったとしても見つけやすく保守の容易な状態を保ち、変更に耐えるソフトウェアを作り出す事につながります。でも、あくまで理想は理想であり、現実にそのまま適用できないのは当然。そこも理解した上で読まないと、単なるフィクションになってしまいます。

「達人プログラマー」と「リファクタリング」あたりを先に読んでおくと、理解しやすいと思います。書いている内容が少々難解なので、必読書ではあるのですが、経験の浅い人にいきなり読ませるには向いていないとも思いました。