CodeCraft -エクセレントなコードを書くための実践的技法-


サブタイトルにある通りこの本の目的はエクセレントなコードを書くための手法を勉強しようと言う物です。ではいったいエクセレントなコードとは何なのか? と疑問になります。この本ではエクセレントなコードは可読性の高い、保全的なコードの事をさします。決して誰にも理解出来ないような複雑なコードを書くための本ではありません。

複雑なコードを書けばそれだけそのコードを保守しにくくなり、その分プロジェクトのコストはかさむだけと言う主張のもと、ひたすら可読性をあげるための方法を解説しています。主に対象言語は C, C++, Java, .NET ですが、スクリプト系の言語にも勿論通用する考え方なので読んでいて納得出来る話ばかりでした。自己解説的なコードを書くべきと言った話は勿論、エラートラップの必要性についても解説されていました。学習した範囲での問題も各章ごとに用意されており、ほんとに大事で覚えておくべき内容が出題されます。答えは本書の最後にあるのでいつでも答えを見れますが、なるべく自分で考えてから見る事をお勧めします。

後半ではプロジェクトの進め方やチームに関するマインドについても言及されており、コードを書くと言う行為がどれだけチームとしての機能を重視するかを教えてくれます。プログラマーが最低限身につけるべきツールの使用方法についての話や IDE やエディタの話は著者視点が強いですが、それ故にその考えが有用であると思わせてくれます。ただ、基本的にこの本はコンパイラ系の言語を主軸に書いていますので当てはまらない事も書かれています。この辺りは個人的な意見が強くなりますので宗教的な批判で見ない努力が必要な人もいるかもしれません。

本書の最後には、問題の答えと解説が 100 ページ程にわたって書かれており、実はこの部分を読むだけで本書のほとんどの内容を補完出来そうなくらいです。なのでこの部分をじっくり読めばコーディング時に気をつけるべき部分等が分かります。全く今迄の話が全てプロローグに思える勢いです。それだけすばらしい内容と言う事ですよ。決してそれ迄の内容が悪いわけではなかったです。

Code シリーズ読了はこれが初めてで、後 Code Reading と Write Great Code を残しています。 まぁ他にもたくさん積んでいるのでこれからも読みこなしていきます。とにかく読んでコード書いてをひたすら繰り返さないといけませんね。