ご安全に!ryosmsです。


上記のツイートを見て、軽い気持ちで応募したら献本いただきました。
実物が届いた時には(内容のヘビーさに)軽く後悔しましたが、読み終わった後では応募しておいてよかったと思っています。
手を上げた時に予定していた時期を超えていますが、感想などを書きたいと思います。

実際に読んだ感想を3行にまとめると以下の通りです。
  1. 難しい
  2. 新発見と再発見
  3. C#er以外にもオススメ 

1. 難しい
言葉の意味通り、はっきり言って難しいです。
想定されている対象読者も
経験豊富なプログラマー
だし、
本書の恩恵を最も受けるのは(中略)優秀な中堅プログラマー
とか書いてある通り、ある程度の知識・経験がないと読み進めるのは厳しいと思います。
逆に言えば、この本がスラスラと読み進められる人は自分に自信を持っていいと思います。

第1部でアジャイルの基礎について説明し
第2部でSOLIDコードの各原則について説明
第3部で実際の開発現場の風景を物語風に描写
という3部構成になっていますが、一番難しいと感じたのは第2部です。
SOLIDの各原則についてそれぞれ1章ずつ割り当てられていて、各原則について説明した後、実際のコードをその原則に当てはめるためにはどのようなリファクタリングを行えばよいのか、が説明されているので読み応えがありました。(理解したとは言っていない)


2. 新発見と再発見
  • この本で初めて知った内容
  • 名前と概要くらいは知ってるけど、詳細までは知らなかった(理解してなかった)内容
  • この本を読む前から知ってたけど、より深く理解することができた内容
ということがほぼ全編にわたって書いてあります。
例えば、最近よく(目 and 耳)にするDIについて、「なぜDIが必要なのか」とか「DIって実際どーゆーことやってんのよ?」的な内容が理解できたのは個人的に大きな収穫です。

また、上2つについては、「読んで理解できた」内容と「まだイマイチよくわかってない」内容と「なるほどわからん」という内容がまだまだあるので、何度も読み返してみようと思います。



3. C#er以外にもオススメ
目次を見るとわかるかも知れませんが、はっきり言ってこの本がC#の棚に並ぶのはもったいないと思います。(とある人に言わせれば「この本のタイトルにC#って付けるのは詐欺に近い(意訳)」だそうです)
サンプルコードがC#だったり、説明に使用されているIDEがVisual Studioだったりするだけで、書かれている内容は他の言語でも活かせる内容になっていると思います。特に、Javaな人であればサンプルコードも合わせて問題なく読み進められるのではないかと思います。
ダックタイピングとかミックスインとかのところで「C#ではこの機能はサポートされてないんだけどね。(外部のライブラリ突っ込めばできないこともないけど)」的な説明を見た時には「逆にC#じゃないほうがよかったんじゃないの?」とか思ったことは内緒です。

まとめ
あらためて、献本いただいた長沢さん、ありがとうございました。
興味がある人は読んでみればいいと思うよ!(ちょっとお高いけど)
とりあえず、以下の言葉は読んだ時にドキッとしたので、戒めとして胸に刻んでおこうと思います。

アーキテクチャの最新トレンドに魅了され、よりシンプルなデザインを見落としている開発者が多すぎます。