読んだ: Code Reading プレミアムブックス版

長い、手短に言って

  • 流石に初版が2004年の本を今読むには古い、ただし歴史のある(Cの)コードを触る場合は読んで損はない
  • 対象層がいまいちよくわからないが、これは私が業務でも5年くらい、非業務含めるともう15年くらいコード書いているからかもしれん
  • 非業務経験があってある程度書けるプログラマが業務に入る前に読むのはアリ

出版社の紹介サイト

book.mynavi.jp

所感

本書は基本的にCで書かれたOSSコードを掲載し、それに対する形でコードの読み方を解説している。目次を読んでも分かるように、前半は基本制御構造やデータ構造の説明などとなっている。ここは(特にC中心に触っている)ある程度経験のあるプログラマであればboringであり、逆にそうでない者には難しすぎるように感じた。これが冒頭で対象層がいまいちよくわからないといった所以である。ある程度経験がある自負があり、Cを触っていて、かつデータ構造と言われてもピンとこないのであればこのあたりは理解しておいた方がいい。最近の言語であればデータ構造のあたりは標準ライブラリで提供されるので気にしないところではあるが……
また、掲載されているコードは古いと感じるものが多い。冒頭にK&R C仕様を考慮したコード(!)があり、以降もif構文でブロックを使用していないコードなどが目立つ。最近のコードは可読性やバグ防止のためif構文による命令が単一命令でもブロック化するのがほとんどであると勝手に思い込んでいるので、歴史のあるコードが多いのだなと感じた。これは裏を返せばUnixに古くからあるツールのコードを読むような場合は指針となるであろうということでもある。
7章以降は実プロジェクト寄りの話題が中心となる。が、これもある程度実務経験があるならば身につけている(つけていてほしい)ことなのではないかな。

この手の本を買うときはいくら名著と言われていても出版日や目次をしっかり確認して、得られるものがあるかどうか吟味しないとダメですね。