リーダブルコードの次に読む本 - ステップアップの読書ルート

2 分で読めます
設計読書ルート技術書

この記事は約 6 分で読めます。

「コードの書き方」と「コードの設計」は別のスキル

リーダブルコードは多くのエンジニアが最初に読む技術書です。命名、関数の分割、コメントの書き方。これらは「コードの書き方」のスキルであり、読みやすいコードを書くための基礎です。

しかし、読みやすいコードが書けるようになっても、「この機能をどこに置くべきか」「このモジュールの責務は何か」という問いには答えられません。これは「コードの設計」のスキルであり、リーダブルコードの次に学ぶべきテーマです。

4 段階のステップアップルート

読む順番の全体像は、扱う範囲が「1 行 → 1 クラス → モジュール → システム」と広がっていく 4 段のはしごです。

レベル 1  コードの書き方      命名・関数の長さ・コメント
   │
   ▼  実務で試す
レベル 2  コードの設計        リファクタリング + SOLID 原則
   │
   ▼  プルリクエストでリファクタリングを 1 つ試す
レベル 3  モジュールの設計    デザインパターン + 依存関係の管理
   │
   ▼  機能追加でデザインパターンを 1 つ適用する
レベル 4  システムの設計      アーキテクチャパターン + DDD

レベル 1: コードの書き方 (完了)

リーダブルコードで学んだ段階です。命名規則、関数の長さ、コメントの書き方。このレベルのスキルは、次のレベルの土台になります。

レベル 2: コードの設計

リファクタリングSOLID 原則。「動くコード」を「良いコード」に変える技術です。

リファクタリングの本は、「既存のコードをどう改善するか」を具体的なパターンで教えてくれます。Extract Method、Replace Conditional with Polymorphism、Introduce Parameter Object。これらのパターンを知っていると、コードレビューで「ここはこうリファクタリングできる」と具体的に提案できます。

SOLID 原則の本は、「なぜそのリファクタリングが正しいのか」の理論的な根拠を教えてくれます。リファクタリングの「How」と SOLID 原則の「Why」をセットで学ぶと、設計力が飛躍的に向上します。

レベル 3: モジュールの設計

デザインパターン依存関係の管理。「クラスやモジュールをどう組み合わせるか」の技術です。

デザインパターンの本は、パターンの暗記ではなく「なぜこのパターンが必要なのか」を理解することが重要です。パターンの背後にある問題を理解していれば、パターンの名前を知らなくても適切な設計ができます。

レベル 4: システムの設計

アーキテクチャパターンと DDD。「システム全体をどう構成するか」の技術です。このレベルは実務経験 4〜5 年以上で読むのが効果的です。

リファクタリング・設計原則の本は、リーダブルコードの次のステップに最適です。

レベル間の移行タイミング

各レベルの本を読んだら、実務で試してから次のレベルに進んでください。読むだけで次に進むと、知識が積み上がらず空中楼閣になります。

レベル 2 の本を読んだら、次のプルリクエストでリファクタリングを 1 つ試す。レベル 3 の本を読んだら、次の機能追加でデザインパターンを 1 つ適用してみる。この「読む → 試す → 次のレベル」のサイクルが、設計力を着実に高めます。

各レベルで扱うテーマと、次に進んでよい目安をまとめます。

レベル学ぶテーマ答えられるようになる問い次のレベルへ進む目安
1 コードの書き方命名規則・関数の長さ・コメントの書き方このコードは読みやすいか読みやすく書けても「この機能をどこに置くべきか」に答えられないと感じたとき
2 コードの設計リファクタリングのパターンと SOLID 原則動くコードをどう良いコードに変えるかプルリクエストでリファクタリングを 1 つ実際に試したあと
3 モジュールの設計デザインパターンと依存関係の管理クラスやモジュールをどう組み合わせるか機能追加でデザインパターンを 1 つ適用したあと
4 システムの設計アーキテクチャパターンと DDDシステム全体をどう構成するかレベル 3 を実務で経験してから読む (実務経験 4〜5 年以上が効果的)

アーキテクチャ・DDD の本は、レベル 3 を経験した後に読むのが効果的です。

関連記事

まとめ

リーダブルコードの次は「コードの書き方」から「コードの設計」へステップアップします。リファクタリング → SOLID 原則 → デザインパターン → アーキテクチャの順で、各レベルで実務に試してから次に進む。この積み上げが、設計力を着実に高めます。

共有:Xはてブ

この記事は役に立ちましたか?

関連用語

関連記事

設計 / アーキテクチャ本ガイド - 設計力を上げる技術書の選び方

ソフトウェア設計を学べる技術書をコード / モジュール / システムの 3 レイヤーに分類し、レベルに応じた読む順番の指針を紹介します。

あの有名 OSS のコードは、この本の影響を受けている

広く使われているオープンソースソフトウェアの設計には、技術書と共通の語彙や原則が残っています。OSS のコードから辿れる影響と、似ているだけの例の見分け方を整理しました。

コードレビューが上手い人は何を読んでいるのか

的確なコードレビューができる人は、指摘を裏づける語彙と判断基準を持っています。レビュー力を支える 3 つの読書領域と、レビューに直結する知識の身につけ方を解説します。

設計の引き出しは経験だけでは増えない

実務経験だけでは設計の引き出しに限界があります。なぜ経験だけでは不十分なのか、本が設計力に対して果たす、他で代えにくい役割を論じます。

「動くコード」と「良いコード」の間にある本

コードが動くようになった後、次に何を学べばよいのか。「動くコード」を「良いコード」に変えるために必要な知識と、それを効率的に学べる本の選び方を解説します。

技術書のアウトプット術 - 読んだ本の価値を 10 倍にする方法

技術書を読んだ後のアウトプット方法を負担の少ないものから 5 段階で紹介。アウトプットが記憶の定着を劇的に改善する理由も解説します。