天の月

ソフトウェア開発をしていく上での悩み, 考えたこと, 学びを書いてきます

『良いコード/悪いコードで学ぶ設計入門』を読んだ

こちらの本を読んだので、感想を書いていこうと思います。

現場感が溢れるコード

サンプルコードや悪いコード例の説明は、もちろん実際に現場で動いているコードではなく、本のために作られた例だとは思うのですが、あまりそのようには思えないほど現場の味が溢れるコードでした。

サンプルコードの手触り感や、実際に書いてみたり直してみたりなる感覚、というのがすごく感じられて、よくできている例だなあと素直に驚きました。

随所でインパクトがある用語が登場

本で悪いコードや良いコードが紹介されると、そのコードの問題点や改良点がわかるような用語が名付けられています。
用語は解釈や定義が分かれる曖昧なものが少ない上にインパクトもあるため、今までなんとなく避けていたコードに対して名付けがされることで、頭の中が整理された感覚がありました。

一方で、太字になっている部分の中に、公式な用語と本書のみで定義されている用語が混在しているのは、(特にこの手の話題に精通している)人によっては読みにくいのかもしれないとは感じました。*1

次への道標がある

本書でカバーできていない部分や解説が省かれていた部分については、丁寧に次に学ぶための道標が用意されていたのが、非常によかったです。
参考文献の中には、以前読んだけれども今ひとつ消化不良で終わった本も多かったので、改めて本を読んでみようと幾つかの本については思いました。

この本だけで完結せず、これ一冊で継続的に学び続けられるスタートが切れるという点で、入門者や新人にも勧めやすい本になっているなあと感じました。

コードサンプルが多く内容が具体的

自分がちょうどFlutterを使い始めということもあって、Dartで本書の内容を書き直しながら読んでいきました。

そんなこともあって、書籍内であった良い例/悪い例問わず多数のコードサンプルの存在は非常に助かりました。
実際のコードで語ってくれることで理解の助けにもなりましたし、現場で実践しやすい「使える」本になっていたと思います。

一方、コードサンプルが具体的だったが故に感じたのかもしれませんが、コードを説明する際に用いられていた、「悪魔」を代表としたメタファーは理解の助けになっている感覚があまりなく、やや冗長にも感じました。

全体を通した感想

解説自体が面白く、ページ数こそ多いものの楽しく読める本で、多くの人に読まれる理由がわかる本でした。

また、本を通して現場の生々しい様子が終始伝わってくるような本で、これまで読んできた技術書とは全然違う読後感を味わうことができたのも非常に印象的でした。

参考(著者トークで話していた内容のメモ)

aki-m.hatenadiary.com

*1:ただ、本書の対象読者は初級者〜中級者なので、対象読者が違うのかもしれません