書籍購入:『リーダブルコード』が売れればブログのネタが減る

よい本ですね……多分『Code Complete』や『Code Craft』あたりを持っている人も本書を買っておいて損はないかと。

リーダブルコード ―より良いコードを書くためのシンプルで実践的なテクニック (Theory in practice)

リーダブルコード ―より良いコードを書くためのシンプルで実践的なテクニック (Theory in practice)

私はソースコードのコメントの書き方について id:eel3:20090811:1249977594 を書く程度には意見を持っていて且つ口うるさく喚く性質の人で、且つそこを出発点として読みやすいコードに興味を持っている*1

読みやすいコードについては『プログラミング作法』の第1章、『Code Complete』の半分ぐらい、『リファクタリング―プログラムの体質改善テクニック (Object Technology Series)』の後半などの良書がある。名前に関しては間違ったコードは間違って見えるようにするあたりも参考になる(主にアプリケーション・ハンガリアンの話だけど、それを採用するか否かは別として「変数名の接頭/接尾に重要な追加情報(例えば単位)を付加する」というアイデアは参考になる)。

ただ如何せん、

  • 『プログラミング作法』の第1章だけでは物足りない*2
  • 『Code Complete』では重厚すぎるし値段も張る。
  • リファクタリング』は良い書き方についての項目が1ヶ所にまとまっているとは言い難い。
  • アプリケーションが付くとはいえ「ハンガリアン」という単語がある時点で色々と誤解を招く危険がある。

プログラム書法 第2版』という古典もあるけど、如何せん古典だからなあ。古典過ぎて読むのが辛い*3

そのあたりを本書は「薄い・安い・一通りまとまっている」と隙間産業的に補完していて、何というか「まいったねえ」というか「こりゃ一本とられたなあ」というか。

本書に書いてある個々の項目については至極当たり前なことばかりというかAmazonの原著のレビューに `Nothing New' と書かれているのは伊達ではないというか、プログラマとして当然のことばかりだ。

しかし「当然のこと」も薄いとはいえ本1冊分にまとまると事情が変わってくる。この本の内容全てを守ってコードを書いている人はどれくらい存在するか――そも原著者とその周辺以外にそんな人がいるのか? その点を考慮せずに「どれもこれも当然のことばかりなので、この本にはあまり価値がない」と断じるのは早計だ。

何より今までは「何冊かの本を渡り歩き、優秀な先達に教えを請い、時に彼らのソースを覗き見る」という過程を経なければ、本書の全内容を得られなかったはずだ。それが1冊にまとまっていて、薄くて心理的抵抗が少なく且つ読みやすく、しかも買いやすい値段。

ホント、まいったねぇ……。暫くは「良いソースコード」ネタをブログに書けないな、「『リーダブルコード』読め」の一言で済んでしまうから。

とりあえず、来年以降にコードを書く職場に配属される新人には強制的に本書と『プログラミング作法』を読ませることに決定、ということで。

*1:余分なコメントを取り除こうとすると、結果として読みやすいソースを書かなくてはならないことに気がつく。良くないコードを補う/誤魔化すコメントも結構あるからだ。

*2:物足りないといっても第1章の内容を参考に改善したコードは何も知らない時のコードよりも遥かに上等だ。

*3:そういう世代なのです。