「良いコード/悪いコードで学ぶ設計入門―保守しやすい 成長し続けるコードの書き方」を読んだ感想
本を読むモチベーション
- 良いコードとはどのようなコードのなのかを理解したいから
- オブジェクト指向設計について理解を深めたいから
- ITエンジニア本大賞2023で技術書部門大賞を取っていたから
https://www.shoeisha.co.jp/campaign/award/result/
私のスキルレベル
- エンジニア歴3年目。エンジニアになったのは良いが開発経験者がチームにおらず、ソフトウェアアーキテクチャ設計の仕方が分からない
- ソフトウェアアーキテクチャの設計が出来るようになりたくて、まずはUMLを学びUMTP L1,UMTP L2を取得。今年度UMTP L3は取りたいと思っている
- 現在はReact / Next.jsを利用しており関数型プログラミングについて学ぶ必要があるが、その前段としてオブジェクト指向設計を会得したいと思っている
読んでみた感想
- 大体2週間で読み終えました。平均1日30ページほど読んでいましたが、結構サクサク読めるので時間があればすぐ読める技術書だと思います。
- 初級を脱して中級エンジニアになるくらいの人は本当読んだ方が良いと思いました。この本を読む前に「現場で役立つシステム設計の原則 ~変更を楽で安全にするオブジェクト指向の実践技法」を読んでおくのも良いかもしれません。クリーンアーキテクチャ等を読んで難しくて挫折した経験がある方は、この本を読んでから再度読みなおすと良いかもしれません。
- 私はプロゲートレベルでしかJavaを扱ったことがありませんが、コードはJavaで書かれています。特にコードを読むのに困ることはありませんが、Javaを学んでおくとより読みやすいかもしれません。
- 第10章の「名前設計」の部分が一番印象に残りました。書籍では「目的駆動名前設計」と呼んでいますが、これがモデリングや設計の第一歩だなぁとひしひしと感じました。10章の概要については筆者がyoutubeでも紹介しているので参考にしてみて下さい。
https://www.youtube.com/watch?v=_qXG06v8HAI
副次効果
- 本書を読んで、大分オブジェクト指向設計についての理解が深まったと感じたので、その後は一気にSOLID原則やGRASP原則、GoFのデザインパターン、MVCモデルやMVVMモデル、レイヤードアーキテクチャ・クリーンアーキテクチャ・オニオンアーキテクチャなどソフトウェア設計に関わる諸々を改めて学び直してみましたが、大分理解が出来るようになっていました。ちょっとエンジニアっぽくなってきかなと感じました。
以上の通り、初心者から中級者の方には大分おすすめの本と思いますので是非読んでみてください。