tkenichi の日記

毒舌皮肉系恥さらし日記

Code Craft

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

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

年末年始の休み中にちびちび読む。

世界で日々書かれているコードの量はどれくらいだろうか?職業としてコードを書く人もいるし、趣味で書く人も、教室の中でかかれるコードもあるだろう。テキストとしてはビジネス書類や小説、論文に次ぐ分量が書かれていてもおかしくない。ならばコードをどのように書くか、という方法論を論じるものがあっても良いだろう。これはそういう本。コーディングスタイルやコメントの書き方など具体的なものから、コーディングで使うツールの話、テストおよびデバッグの方法論、ソフトウェア設計、開発チームのあり方、仕様の決め方など、職業的プログラマがコードを書く作業の周辺にある話まで。

スタイルは流行もあるし、設計や開発計画などは実際にはケースバイケースだからこの本の通りにやればよい、というわけではないのだろうけど、定期的に自分のコーディングの方法を見直すときに読み返すような使い方をするといいかもしれない。

全24章で一つ一つはそれほど長くなく、設計論や最適化技法などについては概論的な話になっているので、さらに詳しく知りたければ、文中で紹介されている別の参考文献を読むことになるだろう。その中で短い中でも的を得た話になっているのが、自己解説的なコードの書き方、だろうか。最近は人が書いたコードを読むことも多いけれど、自己解説的なコードは読んでいてもそれほど苦痛はない。たとえ設計やアルゴリズムに不満があったとしても、どこを直せばよいのか理解しやすい。自分の書くコードもできるだけ自己解説的なものとなるように、将来の自分のためにも心がけたいものです。

どうしようもなくスパゲッティ化したコードを、現状とは乖離していた開発時のクラス図で説明する、なんていうのはありそうで笑えない話だが、せめて自己解説的なコードを書くようにするだけでもずいぶん改善されるはず。チームの誰かが更新するたびに開発環境を丸ごとコピーする、というばかげた慣習がまかり通っているようなプロジェクト*1は、バージョン管理するだけでだいぶマシにはなると思うわけです。

*1:もちろん架空の話ですよ