概要
良いコード/悪いコードで学ぶ設計入門を読んだので、感想をまとめてみます。
なぜ読んだか
最近、業務でプルリクエストを見る機会が増えています。レビューするときは、仕様を満たしているかはもちろんのこと、読みやすく・変更しやすいコードか。という観点でも点検しています。
経験則からこうした方が読みやすい・このような構造が好ましいということをレビューするよう努めてはいます。
ですが、手探りでレビューしているところもあり、遠回りをしてしまってプルリクエストのコメントの数が数十以上に膨れ上がることもあります。
もっと良いレビューをするために体系立てて知識を整理したいと思っていました。
そんな折、ITエンジニア本大賞2026が発表されました。
ベスト10に選ばれた書籍の中に、レビューの質を上げるのに良さそうなものがあったので、早速買って読んでみました。
書籍の構成
書籍は全18章で構成されています。408ページ18章と聞くと読むのに苦労しそうですが、豊富なコードサンプルを読み解いていくうちにサクサク読めました。
最初の2章は書籍の全体像を掴むため、小さなコードから、何が悪いコードなのか・どうすれば良いコードになるのか大まかなアプローチを紹介しています。
3章から13章までは、さまざまな場所に姿形を変えて潜む悪いコードを相手に、どう立ち向かうのがよいか順に書き連ねています。
そして、14章以降はコードに留まらないシステムレベルでの設計にまで踏み込んでいます。
具体的なコード例を足掛かりに徐々により深い設計へとステップアップしていくような構成です。
どう読むか
最初の2章はとりあえず書籍の意義・構造を掴むためにもじっくり読みたいです。
以降の章は気になったところをつまみ食いし、悪いコードの概要と対処法を軽く頭に入れておくだけでも有用です。問題を知覚し、解決方法をイメージできるようになれば、コード・レビューの質も上がっていくはずです。
14章以降は設計に携わるようになったら、より深いところまで思考をめぐらせるために読んでみると良さそうでした。
面白かった章
ざっと読んでみて面白いと思った章を抜粋して紹介します。
4章 不変の活用―安定動作を構築する―
昨今のプログラミング言語でも、いわゆるイミュータブルなデータ構造を扱うことが多くなってきたと感じています。
なぜ不変が好まれるようになったのか、可変では何が問題だったか歴史を振り返れて楽しかったです。
6章 関心の分離という考え方―分けて整理する―
関心の分離は言い方は違えど、プルリクエストのレビューでも頻繁に指摘する観点です。
具体的にコード上でどう関心を分けていくか考え方が紹介されていたのですが、無意識でやっていたものとほぼ同じ流れでした。
改めて言語化されることで、なぜこのように取り組むと良いのか、思考が整理できてよかったです。
14章 モデリング―クラス設計の土台―
けっこう抽象度高めな章でした。
そもそもモデル・モデリングが指す概念が人によって異なるので、自分はこう思うけれど、著者はどう思っているのか比較しながら読んでいきました。
著者と対話するように読み進めることで、設計からアーキテクチャやコードを考えるときの思考の流れを整理できた気がします。
設計の難しさ・面白さをあらためて実感できる学びのある章でした。
個人的にはここが思考が広がって好きでした。
…
記事の続きは下のURLをクリック!
https://rightcode.co.jp/blogs/54619
もっとワクワクしたいあなたへ
現在、ライトコードでは「WEBエンジニア」「モバイルエンジニア」「データエンジニア」「ゲームエンジニア」「デザイナー」「WEBディレクター」「営業」などを積極採用中です!
ライトコードは技術力に定評のある受託開発をメインにしているIT企業です。
有名WEBサービスやアプリの受託開発などの企画、開発案件が目白押しの状況です。
- もっと大きなことに挑戦したい!
- エンジニアとしてもっと成長したい!
- モダンな技術に触れたい!
現状に満足していない方は、まずは、エンジニアとしても第一線を走り続ける弊社代表と気軽にお話してみませんか?
ネット上では、ちょっとユルそうな会社に感じると思いますが(笑)、
実は技術力に定評があり、沢山の実績を残している会社ということをお伝えしたいと思っております。
- ライトコードの魅力を知っていただきたい!
- 社風や文化なども知っていただきたい!
- 技術に対して熱意のある方に入社していただきたい!
一度、【Wantedly内の弊社ページ】をのぞいてみてください。