リンク
https://www.amazon.co.jp/dp/4814400411
感想
大筋
プログラミング設計本にあたりますが、具体的なテクニックは例として出しながら、重視しているのは考え方、という内容です。
サブタイトルに「より良いコードを書くための21のルール」とある様にそれぞれのテーマに絞って21章あるのですが、
第1章に「できるだけ単純であるべきだが単純化してはいけない」というテーマを置いてあるのが素晴らしいです。
その他の20のルールも、究極的にはこの主張に戻ってくるものも多く、どうすれば単純なコードになるのか、という話だと捉えても良いでしょう。
実際私の考えも、単純で、読むだけで仕様が伝わってくるようなコードが最高だというものなので、非常に共感しました。
ゲーム開発者の設計本
また、「Ghost Of Tsushima」で有名なサッカーパンチのプログラマの著書ということもあり、出てくる例がかなりゲームっぽいのも嬉しいです。
あんまりゲーム関連でこういう設計本って無くて、普段設計本を読んでいても、どうしても「顧客管理システム」とか「商品流通システム」とか全然興味無いし身近に感じられない例ばかり出てきて退屈だったんですよね……
そういう点でも貴重な良書だと思います。
また、ゲームということでめちゃくちゃ実行時パフォーマンスを気にする業界での設計思想というところも非常に価値があると思います。実際パフォーマンスを気にする記述もたくさん出てきます。
文体
原著からして砕けた書き方のようですが、翻訳でもかなりフランクな文体となっています。個人的には読みやすければ何でも良いのですが、なんか気にする人もいるみたいですね。 (Amazonレビューが文体で評価下げられてて可哀想w)
総評
本書の全体的なテーマは「プログラミングが持つ複雑さをいかにして軽減、隠蔽し、単純に保って壊れにくくするか」という点に尽きます。アーキテクチャだとかデザインパターンだとかの本ではなく、考え方に注目しているので、そういう細かいテクニックが本質的な問題を解決しないと悩んでいる方は向いているのではないでしょうか。
また、ゲーム開発者の設計本だったり、なかなかレアなタイプの本でもあると思います。
オススメです。