全体を通して
かなり勉強になった。私のようななんとなくでプログラマをやっている人間でも理解できるように記載されていたし、オブジェクト指向の基本的な考え方も説明されているのでクラスを少し理解できたくらいの初心者にもよさそう。書籍に記載されているコードはJavaで記述されているが、PHPをメインに使用している私でも理解ができた。
他の言語をメインに使用している方はその言語で書き換えるとどうなるだろう?と考えながら読んでいくとさらに勉強になると思う。
主張していること
誤解を生まず、人による間違いが起こる隙を残さないようにしようという感じ。具体的には基本的にオブジェクト指向を細かく丁寧にもっと頑張ろうということだと思う。
ただ。。。
私のようななんとなくプログラマが実際にこのレベルでプログラムを書けるかと言ったら別の話のように思えた。プログラマがドメイン知識を完全に理解してコードに落としていく必要があるためだ。
私のようにプログラムを書くことが好きだがドメイン知識を理解することが得意でないプログラマに関してはドメインに沿ったクラス分割ができず、逆に誤解が生まれる可能性があると感じた。
もちろん私が勉強して理解すればよく、この書籍が言いたいのは変更しやすいプログラムを作ることなので間違ったクラス分割も直しやすく作られているはずだ。
また、私が所属しているような中小企業の開発プロジェクトでここまで丁寧に開発をするのは難しい印象をもった。
経営者側には開発時のコストですべてを判断され、保守での苦労はコストと考えてくれないからだ。
テストコードでさえ現状ただ工数がかかるだけと判断されて書く必要が無いと言われかけている、、、
とはいえ
書籍としてはかなり読みやすく、自分の環境に合わせて取り入れていくことができる部分もあると感じた。常に変更されることを意識してプログラムを設計をしていきたいと思う。