全てのプログラマーの必読書!と言っても差し支えないほどの良書。『Clean Architecture』というタイトルなので「なんだか難易度が高そうだなぁ」と思っていたけれど、内容が丁寧にまとめられているのでスラスラ読めた。全300ページ、あっという間に読み終えてしまった感覚。まだまだ理解が足りていない部分もあるので定期的に読み返したい。
あらすじ
ひとことで表すと「ソフトウェアを簡単に変更できるように依存性を極力無くしましょう」といった内容。
そのための手法として、構造化プログラミング、オブジェクト指向プログラミング、関数型プログラミングといったパラダイムが生まれた背景や、設計の原則(SOLID原則)について解説されています。そして目指すべきクリーンなアーキテクチャをどのように実現するか、簡単なシナリオをもとに実例を紹介しています。
共感したこと
リリース優先でコードをクリーンにすることまで手が回らない。そして、崩壊が始まる。生産性がゼロに近づいていく。嘘のようだけど本当の話。思い当たる節がありすぎる。「あとでやる」は止めよう。
ClangでもOOPを実現できていたという考え方は面白い。継承の実現方法がトリッキーだけど、バイト数を意識したコーディングをやっていたな~。
気になっている点
『第21章 叫ぶアーキテクチャ』で『フレームワークはツールであり、生き方ではない』とあり、「ウェブはIOデバイスであり、アーキテクチャもそのように扱うべし」と書いてある。言いたいことは尤もだが、依存しているからこそ楽になっている部分もあると思う。