改訂新版 良いコード/悪いコードで学ぶ設計入門 ―保守しやすい 成長し続けるコードの書き方の表紙

改訂新版 良いコード/悪いコードで学ぶ設計入門

保守しやすい 成長し続けるコードの書き方

仙塲 大也技術評論社408ページISBN 9784297146221

ソフトウェア設計タグで1位(88冊中)。Zenn・Qiitaなどの77記事で紹介され、全期間では2位(言及のある1,753冊中、時点)。

紹介記事
77件
媒体別
Zenn 22・Qiita 37・企業テックブログ 18
初めての紹介
最新の紹介

この本を選ぶ前に

対象読者
コードをなんとなく書けるようになった駆け出し〜ジュニア。設計を学び始めた人、レビューの修正点を言葉にしたい人 根拠: 読まないと後悔する技術書30選ほか1件
難易度
入門(初学者向け)紹介記事のAI分析から
出版年
・改訂新版(約2年前)
タグ内の順位
ソフトウェア設計タグで1位(88冊中・紹介記事数の順)
注意点

対象読者・難易度・注意点は、紹介記事の内容をもとにAIがまとめたものです(根拠記事へのリンクつき)。出版年・順位・代わりの本は書誌と集計データから出しています。

別の版

紹介記事の件数・順位は、すべての版の紹介をまとめて数えています(同じ記事が複数の版を紹介していても1件)。

旧版との違い(紹介記事より)

紹介記事1件が書いた、旧版との違いです。記事の記述を短く言い換えたもので、改訂内容のすべてではありません。 書誌では、この版(2024年・408ページ)は1つ前の版(2022年・400ページ)の2年後に出ています。

データレポート:技術書の第2版・改訂版で何が変わったか

この本の前後に読まれている本

紹介記事が「この本の前に」「この本の次に」と読む順番を書いた本です。件数はその順番を書いた記事の数で、並べただけの記事は数えていません。

この本の前に読まれた本

この本の次に読まれた本

データレポート:技術書を読む順番(設計・アーキテクチャ)

紹介の推移

本を紹介した記事のうち、この本に触れた記事の割合は、2022年上期以降どの期も2%〜15%です。直近の2026年上期は2%(93記事中2記事)でした。

10% 20% 2022年上期 10%(71記事中7記事)2022年下期 15%(95記事中14記事)2023年上期 15%(93記事中14記事)2023年下期 8%(132記事中10記事)2024年上期 7%(120記事中8記事)2024年下期 4%(160記事中7記事)2025年上期 5%(127記事中6記事)2025年下期 4%(137記事中6記事)2026年上期 2%(93記事中2記事) 20222023202420252026
半期(1〜6月・7〜12月)ごと・本を紹介した記事に占める割合。2026年下期は集計中のため除外
数値を表で見る
半期ごとの、この本に触れた記事の数と本を紹介した記事の数
期間 この本 全体 割合
2026年上期 2記事 93記事 2%
2025年下期 6記事 137記事 4%
2025年上期 6記事 127記事 5%
2024年下期 7記事 160記事 4%
2024年上期 8記事 120記事 7%
2023年下期 10記事 132記事 8%
2023年上期 14記事 93記事 15%
2022年下期 14記事 95記事 15%
2022年上期 7記事 71記事 10%

「全体」は、その期に公開され、いずれかの本を紹介した記事の数(ZennとQiitaへの同時投稿は1本と数える)。

紹介記事から読み取れること

77件の紹介記事の内容をもとにAIがまとめたものです(根拠記事 11件・生成日 )。各項目に根拠記事へのリンクがあります。

読んで得られた成果

この本の特徴

言及記事から読み取れる傾向

悪いコードの例と改善例から、良いコードの書き方や設計を学べると紹介されている。

根拠: 新入社員に向けて私が3年間で読んだ技術書を紹介する

設計を学び始めた人や、コードに違和感を覚え始めた人に向けて紹介されている。

根拠: 【読書の夏?】各分野のおすすめ技術書を75冊まとめてみた、NEエンジニアがお薦めする夏の課題図書13選+α

コード設計、既存コードの見直し、コードレビューの際に参照する本として扱われている。

根拠: エンジニア二年目に自宅学習で使った技術書&Udemyをジャンル別にまとめてみた

設計知識がなくても実例を通じて実践的な設計を学べることや、コード例の具体性が述べられている。

根拠: 未経験Androidエンジニアの1年を振り返る、高専1年生に読んでほしい技術本N選

こんな人におすすめ

対象レベル: コードをなんとなく書ける駆け出し〜ジュニア、設計を学び始めた人、日々のコードに違和感を抱き始めた人。

こんな目標を持つ人に:

  • 実例を通して実践的な設計を学ぶこと。
  • 保守しやすく、成長し続けるコードを書く手立てを得ること。

※ この情報は77件の技術記事からAIが分析・生成したものです。表示している分析項目には根拠記事へのリンクがあります。読者の逐語引用ではありません。 実際の内容は書籍でご確認ください。

紹介している記事

いいね数順 · 77件

記事ごとの説明は、記事本文のうちこの本に触れた部分をAIが要約したもので、筆者の原文ではありません。

  • エンジニアに読んで欲しい技術書90選 Qiita · S4nTo · · いいね 1,890 紹介された版: 初版(2022年)
  • 読まないと後悔する技術書30選 Qiita · 渡邉 臣 | JISOU · · いいね 1,358 紹介された版: 初版(2022年)

    コードをなんとなく書けるようになった駆け出し〜ジュニア向けとして紹介し、他の人が見て意図をすぐ理解できる、読みやすいコードを書くための考え方を幅広く学べると述べている。ゲームを題材にした例題は段階的に進み、オブジェクト指向を詳しく理解していなくても読み進められるという。輪読会で読み、内容が充実していて思い出深い本だったとしている。

  • 2025年中に読破したい、最高の技術書10選 Qiita · ふるさと@レアテック · · いいね 848

    ④でプログラミングの基本を学んだ次の段階で読む本として挙げている。多くの人は「クラス」や「オブジェクト指向」を何となく理解しているとし、本書を読んでその真髄に迫るとよいと述べる。さらに、発売当初にエンジニア界隈で話題になっていたという印象も記している。

  • 駆け出し時代の自分に読ませたかった技術書18選 遠回りをしまくった自分に送りたい Zenn · MESI · · いいね 720 紹介された版: 初版(2022年)

    新卒1年目の自分に読ませたかった本として、コーディング分野で本書を紹介している。クソコードの例が載っている点を良いとし、悪いコードの例が、かつて保守していたレガシーシステムにほとんど当てはまっていたため、とても共感できたと述べる。後から保守する人を泣かせないためにも読むべきだとしている。

  • 新入社員に向けて私が3年間で読んだ技術書を紹介する Qiita · Masaki Miura · · いいね 596 紹介された版: 初版(2022年)

    入社後3年間で読んだ技術書を紹介する記事の「設計」分野で本書を取り上げ、「ITエンジニア本大賞2023」技術書部門の大賞を受賞した有名な本としている。悪いソースコードの例と改善例から、良いコードの書き方や設計を学べると説明し、初学者から技術書を尋ねられたら迷わず紹介すると述べている。

この本について

保守しやすく、変更に対応しやすいコードを設計するための考え方と技法を、悪いコードの問題点と改善例を通じて学ぶ入門書である。命名や変数の使い方から始まり、データとロジックのカプセル化、不変性、責務の分離へと進む。プリミティブ型への依存、staticメソッドや共通処理クラスの誤用、多すぎる引数、継承による関心の混在などを取り上げ、クラスの凝集度を高める方法を説明する。条件分岐では早期returnやストラテジパターンを扱い、コレクションの処理を専用クラスにまとめるファーストクラスコレクションも紹介する。設計やコーディング、コードレビューで改善点を捉えるための技術を学べる。

出版社の内容紹介・目次と紹介記事をもとにAIが要約したものです。原文の転載ではありません。

目次(主な章)

出典: 出版社の書籍ページ (章の見出しのみ)

  1. 第1章 悪しき構造の弊害を知覚する
  2. 第2章 設計の初歩
  3. 第3章 カプセル化の基礎―ひとつにまとめる―
  4. 第4章 不変の活用―安定動作を構築する―
  5. 第5章 バラバラなデータとロジックをカプセル化する実践技法
  6. 第6章 関心の分離という考え方―分けて整理する―
  7. 第7章 関心が混ざったコードを分けて整理する実践技法
  8. 第8章 条件分岐―迷宮化した分岐処理を解きほぐす技法―
  9. 第9章 コレクション―ネストを解消する構造化技法―
  10. 第10章 設計の健全性をそこなうさまざまな悪魔たち
  11. 第11章 名前設計―あるべき構造を見破る名前―
  12. 第12章 コメント―保守と変更の正確性を高める書き方―
  13. 第13章 メソッド(関数) ―良きクラスには良きメソッドあり―
  14. 第14章 モデリング―クラス設計の土台―
  15. 第15章 リファクタリング―既存コードを成長に導く技―
  16. 第16章 設計の意義と設計への向き合い方
  17. 第17章 設計を妨げる開発の進め方との戦い
  18. 第18章 設計技術の理解の深め方