ソフトウェア設計タグで1位(88冊中)。Zenn・Qiitaなどの77記事で紹介され、全期間では2位(言及のある1,753冊中、時点)。
- 紹介記事
- 77件
- 媒体別
- Zenn 22・Qiita 37・企業テックブログ 18
- 初めての紹介
- 最新の紹介
この本を選ぶ前に
- 対象読者
- コードをなんとなく書けるようになった駆け出し〜ジュニア。設計を学び始めた人、レビューの修正点を言葉にしたい人 根拠: 読まないと後悔する技術書30選ほか1件
- 難易度
- 入門(初学者向け)紹介記事のAI分析から
- 出版年
- ・改訂新版(約2年前)
- タグ内の順位
- ソフトウェア設計タグで1位(88冊中・紹介記事数の順)
- 注意点
- 良いコードの例も状況次第で、組織や事業によって良いコードの価値は異なるとする記事がある 根拠: 良いコード/悪いコードで学ぶ設計入門(ミノ駆動本)を読んだ感想
- 『プリンシプル オブ プログラミング』とやや重なる内容とする記事がある 根拠: 未経験Androidエンジニアの1年を振り返る
対象読者・難易度・注意点は、紹介記事の内容をもとにAIがまとめたものです(根拠記事へのリンクつき)。出版年・順位・代わりの本は書誌と集計データから出しています。
別の版
紹介記事の件数・順位は、すべての版の紹介をまとめて数えています(同じ記事が複数の版を紹介していても1件)。
旧版との違い(紹介記事より)
紹介記事1件が書いた、旧版との違いです。記事の記述を短く言い換えたもので、改訂内容のすべてではありません。 書誌では、この版(2024年・408ページ)は1つ前の版(2022年・400ページ)の2年後に出ています。
-
- 構成・説明の見直し 改訂で説明がより読みやすくなった
この本の前後に読まれている本
紹介記事が「この本の前に」「この本の次に」と読む順番を書いた本です。件数はその順番を書いた記事の数で、並べただけの記事は数えていません。
この本の前に読まれた本
- リーダブルコード 記事1本
「読んでおくとよりグッと理解に繋がると思います」
Qiitaの記事(2022年) - スッキリわかるJava入門 第5版 記事1本Qiitaの記事(2022年)
- スッキリわかるPython入門 第2版 記事1本
「4でプログラミングの基本がわかったら、次に読んでほしい1冊。」
Qiitaの記事(2025年)
この本の次に読まれた本
- 現場で役立つシステム設計の原則 記事1本
「「現場で役立つシステム設計の原則」に進むとさらに良いと思います」
企業テックブログの記事(2024年)
紹介の推移
本を紹介した記事のうち、この本に触れた記事の割合は、2022年上期以降どの期も2%〜15%です。直近の2026年上期は2%(93記事中2記事)でした。
数値を表で見る
| 期間 | この本 | 全体 | 割合 |
|---|---|---|---|
| 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件・生成日 )。各項目に根拠記事へのリンクがあります。
読んで得られた成果
- Value Objectの概念が腹落ちし、PHPのInterfaceの利点にも納得できた。
- コードレビューで指摘する際、根拠を持ちやすくなった。
- 設計や実装上の問題を明確な言葉で説明できるようになり、チーム内で設計を議論する共通言語として役立った。
- 生成コードの密結合や低凝集などの設計上の歪みを見抜く力が重要であり、レビューの質を高めることにつながると捉えられている。
この本の特徴
- 悪いソースコードの例と改善例から、良いコードの書き方や設計を学べる。
- ゲームのダメージ計算例で、目的別に変数を用意すると意図や関係が読み取りやすくなると示す。根拠: プログラムの命名は立派な設計行為
- 命名や値オブジェクトから継承よりコンポジションまで、基本的な知識を現代の状況に折り合いをつけてまとめている。
- 悪いコードを個人の能力のせいにせず、制約の積み重ねによる構造的問題として捉える視座がある。
言及記事から読み取れる傾向
悪いコードの例と改善例から、良いコードの書き方や設計を学べると紹介されている。
設計を学び始めた人や、コードに違和感を覚え始めた人に向けて紹介されている。
コード設計、既存コードの見直し、コードレビューの際に参照する本として扱われている。
設計知識がなくても実例を通じて実践的な設計を学べることや、コード例の具体性が述べられている。
こんな人におすすめ
対象レベル: コードをなんとなく書ける駆け出し〜ジュニア、設計を学び始めた人、日々のコードに違和感を抱き始めた人。
こんな目標を持つ人に:
- 実例を通して実践的な設計を学ぶこと。
- 保守しやすく、成長し続けるコードを書く手立てを得ること。
※ この情報は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」技術書部門の大賞を受賞した有名な本としている。悪いソースコードの例と改善例から、良いコードの書き方や設計を学べると説明し、初学者から技術書を尋ねられたら迷わず紹介すると述べている。
- 今まで読んだ技術書の中で汎用的で印象に残っているものをまとめてみる Qiita · おぎ · · いいね 307
紹介された版: 初版(2022年)
入門者向けにアプリケーション設計のアンチパターンと対処法を解説する本として紹介している。読み進める中で、つかみきれなかったValue Objectの概念が腹落ちし、PHPのInterfaceの利点にも納得できたという。読書を通じて久しぶりに理解が深まった一方、「生焼けオブジェクト」など、前職で自分も書いた心当たりのあるアンチパターンがあり、今後は気をつけたいと述べている。
- SE 2年目で読んだ技術書45冊+α Qiita · BinomialSheep · · いいね 282 紹介された版: 初版(2022年)
- 【読書の夏?】各分野のおすすめ技術書を75冊まとめてみた Qiita · miruky · · いいね 125
読みづらく直しにくいコードと保守しやすいコードを比べ、クラス設計の基本を学ぶ改訂版として紹介している。意味の伝わらない命名、複雑な条件分岐、データだけを持つ構造を例に、カプセル化や関心の分離による改善を具体的に示す内容だと述べる。設計を学び始めた人や、コードレビューで修正点を言葉にしたい人を対象に挙げ、実例中心の構成と、改訂で説明がより読みやすくなった点を評価している。
- 【2024年版】開発者が絶対に読むべき本のススメ Zenn · Chiba_d · · いいね 53
紹介された版: 初版(2022年)
オブジェクト指向プログラミングの基本ルールや実装例を学び、保守性の高いコードを書く力を身につけられると述べている。プロダクトは成長とともに複雑になり、設計や実装を適切に見直さなければ、メンテナンスが困難になり、誰も触れたくない状態になりかねないという。保守しやすく成長し続けるコードを書くための手立てを得られるとして、全エンジニア向けの本として紹介している。
- 未経験Androidエンジニアの1年を振り返る Qiita · Kabos · · いいね 37
紹介された版: 初版(2022年)
入社9〜12カ月のリファクタリングやバグ修正に追われ、設計への関心を深めていた時期に本書を読んでいた。この頃はユースケースやドメインの理解を進め、設計思想を調べたり、メンバーを巻き込んでテストコードを導入したりしている。本書の内容は『プリンシプル オブ プログラミング』とやや重なるものの、コードの具体性があり、理解しやすいと評価している。
- 高専1年生に読んでほしい技術本N選 Qiita · 唯岸 雪 · · いいね 33
紹介された版: 初版(2022年)
プログラミングの基礎を理解したら、次にソースコードの保守に取り組む段階だと述べる。言語はものづくりの手段であり、プロダクトのバグ修正や機能追加を続けてソフトウェアを成長させるには設計と保守が要ると説明している。本書については、設計知識がなくても実例を通して実践的な設計を学べると紹介し、設計への苦手意識が生じる前に勘所をつかむよう読者に促している。
- エンジニア二年目に自宅学習で使った技術書&Udemyをジャンル別にまとめてみた Qiita · すずき · · いいね 31
紹介された版: 初版(2022年)
コード設計、リファクタリング、コードレビューのいずれにも参考になると評価している。設計の検討、既存コードの見直し、レビューでの確認という異なる作業の場面で役立つと捉え、そうした作業に際して手元で参照できるよう置いておきたいと述べている。評価の軸は、これら三つの領域すべてで参考になる点である。
- 「良いコード/悪いコードで学ぶ設計入門」の重要ポイントまとめ Qiita · KIRIN3qiita · · いいね 25
紹介された版: 初版(2022年)
第14章で、既存コードを成長させるリファクタリングの流れとして、ネストを解消し、意味のあるロジックをまとめ、条件を読みやすくし、ベタ書きの処理を目的を表すメソッドに置き換えることを挙げている。また、ユニットテストで変更ミスを防ぐとし、機能追加とリファクタリングを同時に行わず、スモールステップで進めること、不要な仕様の削除も検討することを注意点として述べている。
- IT用語が聞こえ始めた2年目から、できることが増えた4年目にかけて読み漁った技術書をまとめました。 Qiita · aki · · いいね 21
紹介された版: 初版(2022年)
本書を基本設計や詳細設計の手順ではなく、コードを書く際の考え方や望ましい書き方を学ぶ本として紹介している。命名、クラス設計、条件分岐など、現場で使える知識があり、要点を押さえれば可読性の高いコードにつながると評価している。悪いコードとその弊害を解説した後に修正版や見本を示す構成で、違いが分かりやすく、「悪魔退治」などの名前も親しみやすいとしている。気になる章から読んでみるよう勧めている。
- プログラムの命名は立派な設計行為 Qiita · Kazuki Sasaki · · いいね 16
紹介された版: 初版(2022年)
設計の考え方を学ぶために本書を読み、内容を忘れないようQiitaに書き残す一環として、まず名前設計を取り上げている。ゲームのダメージ計算例を使い、省略した変数名を避け、攻撃力・防御力・ダメージ量それぞれに目的別の変数を用意すると意図や関係が読み取りやすくなると説明する。続くメソッド化・クラス化は記事では扱わない。本書から設計改善の考え方を学べたと評価している。
- 自身のITエンジニアとしての技術力(特に判断力)を身につけるときに影響を受けた技術書 Qiita · まめ · · いいね 14 紹介された版: 初版(2022年)
- 今年やってよかった輪読会の本と進め方 Qiita · nsym__m · · いいね 13 紹介された版: 初版(2022年)
- NEエンジニアがお薦めする夏の課題図書13選+α Zenn · asumikam · · いいね 13
紹介された版: 初版(2022年)
普段書くコードに違和感を覚え、何が悪いか分からないと感じた時期に読み始めたという。見覚えのあるコードや自身の失敗に気づき、問題点と改善の手掛かりを学べたとしている。その知識でコードレビューの指摘に根拠を持ちやすくなり、設計原則も一通り扱われていて理解を助けたと述べる。「設計に最善はなく、常により良いものを目指す」という考えも意識するようになった。対象は、日々のコードに違和感を抱き始めた人である。
- クリーンコード本で腑に落ちた条件分岐の3つの簡単なTips Qiita · t k · · いいね 11
紹介された版: 初版(2022年)
社会人になってきれいなコードを書くために読んだ2冊の一つとして挙げ、両書から命名やコメントなどの要素からクラス設計まで学べた一方、難しく理解に迷う箇所もあったと述べている。特に条件式のTipsが勉強になったとして、Reactのカウントアプリを例に学習内容を備忘録としてまとめている。
- 自社サイト開発のEM/TL経験者が、現職に入社してから5年弱で読んできた本をまとめる Zenn · しゅーてぃー · · いいね 10
設計や構造化を学ぶ段階で本書を取り上げ、ミノ駆動氏の著書として紹介している。書籍の明快さに触れ、Xに投稿された「クソコード動画シリーズ」も印象に残ったと述べている。自身のコードの方向性が変わるきっかけとなった書籍の一つとして挙げている。
- 良いコード悪いコードを読んでフロントエンドの実装を改善してみた! Zenn · y.morimoto · · いいね 10
紹介された版: 初版(2022年)
初版を読み、関心の分離、低凝集、密結合、参照透過性、フラグ引数、例外の握り潰し、デッドコードなどの章をReactやTypeScriptの実装に当てはめて改善例を示している。読後はレビュー観点が細かくなり、感覚で書いていた作法を体系化できたとする。内容はオブジェクト指向ベースでそのままフロントエンドに使える部分は少なく、関連キーワードを調べ他の記事や本と比較しながら読んだと述べている。
- 【2024年度版】エンジニア1年目で読んでよかった技術書籍まとめ Zenn · aya · · いいね 10
紹介された版: 初版(2022年)
エンジニア1年目に読んでよかった技術書籍を紹介する記事の「コーディング・リファクタリング」の項で本書を取り上げている。具体的なコード例を通じて、良いコードの書き方とソフトウェア設計の基本原則を学べると説明し、保守性が高く、成長し続けるコードを書くにはどうすべきかを学ぶ内容だと述べている。
- AI時代にこそエンジニアが読むべき名著5選 Zenn · ますみ / 生成AIエンジニア · · いいね 7
本書の価値を「書く技術」より「読む技術」を鍛える点に見いだしている。AIがコードを書く時代には、設計者・レビュアーとして生成物を評価する役割が重くなるとし、動作していても密結合や低凝集といった設計上の歪みを見抜く力が重要だと述べる。また、悪いコードを個人の能力のせいにせず、制約の積み重ねによる構造的問題として捉える視座が、AIの出力理由を考え、レビューの質を高めることにつながるとしている。
- 2024年 読んで良かった技術書5選+α Zenn · しみゆー · · いいね 7
変更容易性とソフトウェアの成長性を高めることを目的とした本書を読み、設計や実装上の問題を見つける嗅覚が向上したと述べている。以前は漠然と「読みづらい」「改善したい」と感じていた問題を、明確な言葉で説明できるようになり、アンチパターンを知る大切さを実感したという。チーム内で設計を議論する共通言語として役立ち、読書会にも向くと評価している。また、批評記事を参考として挙げ、改訂新版が2024年12月25日に出版されたと記している。
- 良いコード/悪いコードで学ぶ設計入門(ミノ駆動本)を読んだ感想 Qiita · blue32a · · いいね 7
紹介された版: 初版(2022年)
保守性のうち変更容易性を高め、継続的に価値を生む技術を学べる本として紹介し、初級と中級の間をつなぐと評価している。指導者や改善の余裕がない現場で感じる悩みに重ね、悪いコードを良い形に直す具体例の豊富さを挙げる。10章「名前設計」は対象や責務の捉え方に関わると述べる一方、良いコードの例も状況次第で、ヒットポイントでは「isZero」が「isMin」より適切な場合もあるとする。組織や事業によって良いコードの価値は異なるが、開発速度の要求を背景に設計力の意義を認めている。
- 良いコード/悪いコードで学ぶ設計入門がステップアップに最適だった Qiita · 1129-tame · · いいね 5
紹介された版: 初版(2022年)
命名やメソッド共通化から一歩進み、長期的な視点でコードを書くために本書を読み、概念と良い/悪いコード例を通じてクラス設計を学べると評価している。自己防衛責務、イミュータブル、条件分岐の早期return、switch文でのStrategyパターン、密結合と単一責任の原則を挙げ、業務にも活かしやすいとする。一方、Javaのようなオブジェクト指向言語向けの考え方が中心と留保し、開発経験1〜3年、既存コードの読みづらさや大規模バックエンドに悩む人を対象に挙げる。初心者には早く、熟練者には自然に身についているとも述べる。
- 駆け出しエンジニア学習ロードマップ2 Qiita · 石川 聖 · · いいね 4
実務に入る前に全員に読んでほしいと勧めている。命名やネストを浅くする基本に加え、オブジェクト指向の設計原則、テスト、リファクタリング、ドメイン駆動設計まで扱うと紹介。悪いコードを段階的に改善する過程を平易な文章で説明しており、理解しやすいと評価している。また、第18章で『リーダブルコード』や『リファクタリング』などの書籍を紹介している点にも触れている。
- チーム読書会の成功術!スタートから継続のコツまで Zenn · 松井 俊介 · · いいね 4
紹介された版: 初版(2022年)
経験の浅いエンジニアが多いチームで、コードレビューの活性化と開発効率向上を目指して読書会の題材に選んだ。設計やコーディングの良し悪しを具体例を交えて学べる内容で、チームの成長にぴったりの教材だったと筆者は述べている。7ヶ月かけて全員で読み切った。
- 未経験からWebエンジニアになった1年目に読んだ本19冊をふりかえる Qiita · papipu3 · · いいね 4
紹介された版: 初版(2022年)
Webエンジニア1年目に読んだ本を振り返る記事の「エンジニア全般」欄で、プロジェクトを壊さず円滑に進めるための良いコードの書き方を説明する本として紹介している。良いコードだけでなく悪いコードの例も多く、自分も同じ書き方をしていたと気づいて落ち込んだという。過去は取り消せないため、次から頑張ろうと思ったと述べている。記事は、これからエンジニアになりたい人やエンジニア1年目の人を対象としている。
- 「改訂新版 良いコード/悪いコードで学ぶ設計入門」を読んで Qiita · Tadashi Nakajima · · いいね 3
転職後に同じ言語でも異なる設計に触れ、基本から学び直すために本書を読んだと述べている。関心の分離や、曖昧なUserクラスを目的別に捉え直す命名設計、継承より委譲、インターフェイスと実装の分離、「尋ねるな、命じろ」を実務に取り入れたい考えとして挙げる。悪いコードを「悪魔」と呼ぶ表現には抵抗を感じたが、実践的な内容や、レガシーコードが技術力の成長を妨げること、スモールステップで改善する姿勢、割れ窓理論にも学びがあり、全体として読んで良かったと評価している。
- C#プログラミング学習におすすめ本・技術書10選【2023年版】 Qiita · ryuhsk · · いいね 3
紹介された版: 初版(2022年)
変更しづらいコードでは可読性が低く調査に時間がかかる、変更の影響範囲が分からず不具合を招く、新機能の実装場所に迷うといった問題が起き、機能改善やビジネスの変化への追随を妨げると説明する。本書を、こうしたコードの問題を設計で解決する入門書として紹介し、悪しき構造、設計の初歩、クラス設計、不変の活用から、条件分岐や結合、命名、リファクタリングまでを目次に挙げている。
- 良いコード悪いコードで学ぶ設計入門 【1~3章】 まとめ Qiita · 佑馬 秋田 · · いいね 3
紹介された版: 初版(2022年)
本書を読み、まず1〜3章の内容をまとめている。第1章では意味不明な命名や条件分岐のネスト、データクラスが招く弊害として、生焼けオブジェクトや低凝縮を挙げる。第2章の意図が伝わる変数名、変数の使い回しを避けること、メソッドの切り分け、データとロジックの集約は、普段から意識したい内容としている。第3章では、正常な初期化、不変性、型付きの引数、現実の営みに沿ったメソッド、値オブジェクトと完全コンストラクタを紹介。Railsで値オブジェクトが実装されていることに驚き、FatModelの解消に導入を検討したいと述べ、サンプルコードが豊富で読みやすいと評価している。
- 未経験から2年働いたエンジニアの本紹介 Zenn · 遠藤 · · いいね 2
改訂前の版を購入し、仕事の成果に良い影響を与えた本として紹介している。自分のコードを1か月後に読み返したとき、コードの質によってその後の作業が変わると述べる。仕様変更に備えて抽象化や関数化を工夫した機能は、一部の修正で対応できた一方、既存コードに書き足した機能では意図しないバグが起き、説明にも時間を取られたという。最低限の修正にとどめた結果、読み込まないと分からない仕様を見落とした経験から、良いコードを書くことの大切さを評価している。
- 2025年版・エンジニアが読んでおきたい技術書5選 Zenn · yahat · · いいね 2
本書を設計/リファクタリングの本として紹介し、「悪い例→良い例」と対比する説明がとてもわかりやすい点を推している。実務でありがちなアンチパターンを取り上げていることも挙げ、そうした例が実務でコードを書く人に響く内容として話題になっていると述べている。
- ValueObject について、複数の書籍を参考にして学習しました Zenn · y_murofushi · · いいね 2
Value Objectの学習で参照した。値オブジェクトをクラスとして設計する重要性が解説されており、金額などを数値型で扱うとロジックが分散するため、Moneyクラスのように一貫したロジックを持たせて高凝集にし、意図しない型の代入を防げると整理している。
- GW期間中に読んだ技術書 Qiita · 坂道アイドル好きの ITエンジニア · · いいね 2
紹介された版: 初版(2022年)
GWに10連休を取り、その期間に読んだ本や読み進めている本を紹介する記事で、本書を現在も読んでいる本として挙げている。紹介した本の中でも、読書を続けている一冊として記し、コードの可読性とコードの影響範囲について分かりやすく説明されていると評価している。記事執筆時点でも読み進めており、今も繰り返し読んでいると述べている。
- 果たして自分の書いているコードは読みやすいか Qiita · asukitt · · いいね 2 紹介された版: 初版(2022年)
- 良いコード/悪いコードで学ぶ設計入門 を読んでみました Zenn · y_murofushi · · いいね 2
紹介された版: 初版(2022年)
本番運用中のレガシーシステムを保守するチームで輪読会を行い、各章の要点と実務への学びをまとめている。クラス設計の重要性を不具合から実感し、不変性、低凝集や複雑な条件分岐への対処、ファーストクラスコレクション、null問題、命名やコメント、リファクタリングなどを取り上げる。内容は設計やコーディング、レビューに生かせていると評価し、Javaのサンプルもオブジェクト指向なら言語を問わず参考になるとしている。レガシーコードの運用・保守で改善に悩む人に勧めている。
- 【読了】良いコード/悪いコードで学ぶ設計入門 Zenn · あんみつ · · いいね 1
先輩に勧められて読み、実務で受けたPRレビューの指摘と重なる内容に気づいたとしている。カプセル化や引数の扱い、目的に基づくDRY原則、早期return、デッドコード、YAGNI、マジックナンバー、命名、心理的安全性などを学び、設計や実装を判断する目印になったと評価する。駆け出しのエンジニアや、AI生成コードをレビューする人にも参考になると述べる一方、アプリ開発経験がない人には苦痛に感じる箇所があり、Javaコードの読解練習にもなったとしている。
- 最近良かった技術書 - 2024/12 Zenn · HANAE · · いいね 1
企画から設計・実装まで一人で担う趣味のゲーム開発で、独自流のコードが保守や移植の際に問題になりそうだと感じて本書を読んだ。変更しづらいコードは成長できず、その問題を設計で解決するという説明を紹介している。Javaの例は多くの言語に通じ、UnityでC#を書く際にも参考になった一方、早期returnさえ意識しないと実践できない自分に辟易したと述べている。
- 2023年に読んだ本のまとめ Zenn · shun91 · · いいね 1
紹介された版: 初版(2022年)
良いコードと悪いコードを見分ける基準が明確に示されており、コードレビューの際に参考になると評価している。レビューでコードの良し悪しを判断する手がかりとして活用できる点を挙げ、さらに、良いコードを設計するための組織文化にも触れていると紹介する。コードの設計だけでなく、組織運営にも役立ちそうな内容だと受け止めている。
- 【備忘録】コードを書くときに気をつけること(3) Zenn · pluck · · いいね 1
紹介された版: 初版(2022年)
前回に続く備忘録として、退化コメントと複数目的のモデリングを取り上げている。条件分岐を言い換えるコメントは、コードとの不一致や更新漏れを招くため、実装の背景を書く方法を自身の考えとして示し、書籍の方法として運用・変更時の注意点を書く例を挙げる。第13章のモデリングでは、Userのように複数目的を持つクラスは低凝集や複数の責任につながると説明し、目的駆動の命名を意識したAccount、Profile、Skillへの分割例を示している。
- 約半年間、設計について輪読会をした話 企業テックブログ · LIVESENSE ·
約半年続けた設計の輪読会の前半で題材にした本。現場にありそうな具体例を交えて設計を学べる点を評価し、抽象的な後続の本を読む前の足場にする狙いで採用したという。その結果、次の本に入った際も内容が分からないという人はいなかったように思うと振り返っている。
- AI時代でも活躍できるエンジニアになるためのおすすめブックリスト Zenn · しゅんでぃ ·
- 変化の波を乗り越えろ!予測不能な時代を生き抜く「考え直す力」とは - 書籍「Think Again」 企業テックブログ · 豆蔵デベロッパーサイト ·
設計の良し悪しを学ぶ目的で、他の設計書とともにこの本を最近読んだと述べている。変更に強いシステムには、手続き型ではなくドメインモデルを設計してオブジェクト指向で書くことが重要だと感じたという。一方で、書籍の内容に納得するほど矛盾する知識を排除しかねないと懸念している。
- 良いコード/悪いコードで学ぶ設計入門 を読んで Qiita · Suntory ·
可読性や設計、保守性を意識してKindle版を読み、改ページの多さは縦スクロールなどの設定で読みやすくしたという。Javaの例はC#経験者にも違和感がなかったとし、命名やマジックナンバー回避からクラス設計、責務分離まで幅広く扱うと述べる。内容は初学者より経験3〜5年ほどの中級者を目指す層向けと感じ、難所はAIに質問しながら、すべてを理解しようとせず読み進め、数年後に再読するのがよいとしている。
- 【書籍】良いコード/悪いコードで学ぶ設計入門 Zenn · F_orowitz ·
設計に関心を持ち、友人の勧めで本書を読み、仕様変更時に苦戦した経験を踏まえて内容をまとめている。各章のメモでは、意図が伝わる名前、目的ごとの変数やメソッド、クラスへのカプセル化、不変性、高凝集・疎結合、分岐やnullの扱い、コメント、リファクタリング、チームでの設計ルールなどを挙げる。基礎知識がないまま実装すると仕様変更で苦労すると述べ、設計やプログラミングの基礎を学べたとしている。次の案件の前に復習して実装に臨む考えである。
- 研修中エンジニアが読んでいる本 Qiita · gorilla_tech ·
新卒入社後の研修中に読んでいる本や読み終えた本を紹介する記事の「Java関係」に本書を挙げている。自身は実務経験のない新人エンジニアだと述べ、良いコードと悪いコードの具体例を用いながら、良いコードとはどのようなものかを議論する内容だと説明している。これまで何となく行っていた「設計」について考えるきっかけになったと評価している。
- 失敗とは、見積もりの失敗である。~新入社員のデブサミ見聞録~ 企業テックブログ · カカクコム ·
紹介された版: 初版(2022年)
デブサミのセッションで、DMM.comがミノ駆動氏の著書を設計ガイドラインとして使っていると知った。レビューで「ガイドラインのx.x章の問題コードと同じ問題がある」と指摘でき、コメントのコストが減り、理論を理解しながらアウトプットできるという。レビュー理由を理解できなかった自身の経験から共通言語になると期待し、筆者のチームでもガイドライン化を検討中だとしている。
- 「良いコード/悪いコードで学ぶ設計入門」を題材に輪読会を開催しました 企業テックブログ · BASE ·
紹介された版: 初版(2022年)
自分のコードに自信が持てず、チームの輪読会の題材にこの本を提案した。全体として保守性に関わる設計を扱い、1章の悪い構造の事例や2章の設計の初歩が導入として読みやすいとしている。6章の条件分岐でインターフェースとストラテジーパターンを使う例が分かりやすかったという。読後は設計の基準を持て、リファクタリングの選択肢が増えたと述べている。
- 結局「質とスピード」、大事なのはどっちやねん? 企業テックブログ · iimon ·
紹介された版: 初版(2022年)
社内勉強会で、保守性のうち変更容易性を高めるための本として挙げている。変更しやすいコードを書くために読む本と位置づけ、同じ変更容易性の項で複数の本とともに紹介している。紹介した本はすべて社内にあるとしている。
- 【2023年】askenエンジニアがオススメする本をまとめてみた 企業テックブログ · あすけん · 紹介された版: 初版(2022年)
- 【クリスマスに欲しい!】ホワイトプラスエンジニアのおすすめ書籍2023 企業テックブログ · ホワイトプラス ·
紹介された版: 初版(2022年)
回答した社員は、事業やプロダクトを成長させ開発を快適にするために保守性を高めたいという問題意識から薦めている。本書は具体的で実践的な内容で、頭で理解するだけでなく手を動かせるようになるとしている。記事の筆者も自分で読んだ経験があり、実際のコード例で良いコードと悪いコードの違いが示されていて理解がはかどったと述べている。
- 2023年の実務で参考にした技術書 Zenn · さわら ·
紹介された版: 初版(2022年)
実務で参考にした本として挙げ、サンプルコードがJavaであるため、現在使っている言語に置き換えて考える必要があると留保している。そのうえで、設計やコーディングの際に知識が役立つとしている。実例が豊富で、紹介されるアンチパターンには実務でよく見るものもあり、それぞれの解決方法が示されている点から、多くの学びがあったと評価している。
- Web 業界 1 年目が「良いコード/悪いコードで学ぶ設計入門」を読んだ感想 Qiita · shoooooou ·
紹介された版: 初版(2022年)
開発未経験でWeb業界に入り、オブジェクト指向やデザインパターンの理解を深めるため、上司の勧めで本書を読んだ。値の渡し間違いを型で防ぐこと、不変な値で副作用を抑えること、ファクトリメソッドで初期化ロジックをまとめること、責務に応じた命名で凝集度を高めることを学びとして挙げている。値オブジェクトの費用対効果には当初疑問を持ったが、将来の変更を防ぐ手段として有用だと捉え、ドメインやテスト駆動に基づく開発の進め方も学びたいとしている。
- 最近読んだ本の紹介 企業テックブログ · KENTEM ·
紹介された版: 初版(2022年)
後からコードを触る人がバグを作り込んでしまう落とし穴を「悪魔」と呼び、それを呼び込まない設計方法を実例付きで丁寧に説明する本として紹介している。要求通りに作れる段階から保守性の高い設計を目指す人に勧めている。第16章の開発プロセスとの戦いには共感が多く、全開発者に読んでほしいとしている。
- 良いコード悪いコードで学ぶ設計入門 【8~9章】 まとめと感想 Qiita · 佑馬 秋田 ·
紹介された版: 初版(2022年)
第8章で、密結合が変更の影響範囲を広げ、単一責任の原則にも反する問題と、責務を一つに絞って解消する方法を紹介している。異なる概念の処理をDRYのために共通化すると密結合になりやすい点は、目からウロコだったという。第9章ではデッドコード、YAGNI、マジックナンバー、文字列型執着、グローバル変数、null、例外の握り潰し、メタプログラミングなどの悪い設計を取り上げ、技術駆動パッケージングが望ましくない構造として挙げられたことにも驚いている。
- 技術書ビブリオバトルを開催しました! 企業テックブログ · ホワイトプラス ·
紹介された版: 初版(2022年)
社内の技術書ビブリオバトルで、筆者自身が紹介した。コードの良し悪しを判断する具体的な指標と、それに基づく設計の方法を解説した本だとしている。発表中、会場のチャット欄には既に読んだことがありそうなコメントが何件も寄せられたという。
- シンクロ・フードのエンジニアが書籍購入補助制度を利用して2022年度に購入した書籍ランキングTOP5を紹介します 企業テックブログ · シンクロ・フード ·
紹介された版: 初版(2022年)
購入冊数2位の本で、ITエンジニア本大賞2023の技術書部門大賞に選ばれた。筆者は、テーマごとに良いコードと悪いコードを示して解説する実践的な内容で非常に分かりやすいとしている。悪いコードを元に駄目な理由を説明する点が、昔読んだ「Cプログラミング診断室」に似ていたとも述べている。
- 📖「良いコード/悪いコードで学ぶ設計入門」(第6章 条件分岐)を読んだ感想 Qiita · Tomo Nac ·
紹介された版: 初版(2022年)
本書の第6章「条件分岐」を読み、条件分岐のネストは可読性を下げるため、早期returnを使う構成が見通しよく、条件追加にも対応しやすいと学んだとしている。また、分岐内の重複処理はメソッド化して呼び出すか、専用クラスにまとめる方法を挙げている。フラグ引数は内部処理を不明瞭にしてロジックを読む負担を生むため避け、ストラテジパターンの利用を検討すると述べている。
- 📖「良いコード/悪いコードで学ぶ設計入門」(第5章 低凝集)を読んだ感想 Qiita · Tomo Nac ·
紹介された版: 初版(2022年)
第5章「低凝集」の感想として、凝集度をモジュール内のデータとロジックの関係の強さと捉え、高凝集は変更に強く、低凝集は壊れやすいと整理している。初期化ロジックを複数箇所に分散させると修正漏れなどにつながるため、クラス内のファクトリメソッドにまとめ、生成ロジックが増えたらファクトリクラスを検討すると述べる。また、無関係なクラスに結果を返すための出力引数を持たせず、処理を本来あるべきクラスに置くこと、多すぎる引数を避けることを学んだとしている。
- 良いコード悪いコードで学ぶ設計入門 【6~7章】 まとめと感想 Qiita · 佑馬 秋田 ·
紹介された版: 初版(2022年)
本書の第6〜7章を読み、条件分岐とコレクションの扱いについて、印象に残った技法をまとめている。第6章では早期returnやメソッドへの切り出しに加え、interfaceとMapでswitchの重複を解消するストラテジパターンをRubyで例示し、分岐を別の形で表せることに驚いたと述べている。第7章では、コレクションと処理をクラスにまとめ、外部から変更できなくするファーストクラスコレクションを紹介する。使いどころはまだつかめていない一方、配列の早期breakはすぐ取り入れたいとしている。
- 📖「良いコード/悪いコードで学ぶ設計入門」(第4章 不変の活用)を読んだ感想 Qiita · Tomo Nac ·
紹介された版: 初版(2022年)
第4章「不変の活用」の感想として、可変と不変を用途に応じて使い分ける必要があると述べている。意図しない再代入を防ぐため、Javaのfinal修飾子などで不変にし、正常値だけが処理を通るようバリデーションを設けることを学んだとしている。また、インスタンス変数を使い回すと、その処理にも影響が及ぶため注意が必要だという。基本は不変とし、可変にするのはローカル変数などスコープが限られる処理だとまとめている。
- 📖「良いコード/悪いコードで学ぶ設計入門」(第3章 クラス設計)を読んだ感想 Qiita · Tomo Nac ·
紹介された版: 初版(2022年)
第3章「クラス設計」を読み、潜む問題と対抗策をサンプルコードで比較しながら理解できたとしている。学びとして、複数クラスとの密結合を避け、クラス単体で完結する設計や、ガード節で正常値のみを受け入れる設計を挙げる。また、関連するロジックをデータ保持側に寄せて凝集度を高めること、不要なメソッドを作らないこと、値の渡し間違いを型で防ぐことを示し、問題に対応できる自己防衛的なクラス設計の重要性を述べている。
- 📖「良いコード/悪いコードで学ぶ設計入門」(第2章 設計の初歩)を読んだ感想 Qiita · Tomo Nac ·
紹介された版: 初版(2022年)
第2章「設計の初歩」を読み、命名やクラス設計、変数の用途について学んだと述べている。技術駆動・連番の命名を避け、目的ごとに変数を用意し、処理を意味のある単位でメソッドに分け、関係するデータとロジックをクラスにまとめることを挙げる。金額処理なら金額のクラスにロジックを書く例を示し、一貫性のない、その場しのぎの実装は後に難しい問題として返ってくるため気を付けたいとしている。
- 📖「良いコード/悪いコードで学ぶ設計入門」(第1章 悪しき構造の弊害を知覚する)を読んだ感想 Qiita · Tomo Nac ·
紹介された版: 初版(2022年)
全17章を1章ずつ記事にする形で読み、第1章の感想をまとめている。悪いコードを悪魔にたとえ、良いコードとのギャップや違和感を知覚して設計技術で対処するという学び方を紹介し、実例から悪しき構造と弊害を学べる点を評価している。技術駆動・連番命名は理解に時間がかかり、条件分岐のネストは見通しを悪くし、低凝集な構造は修正漏れや重複コードを招くと述べる。読みやすく分かりやすく、悪いコードを読むことで知見が深まり、問題を知覚できるようになると感じている。
- 今年読んだ書籍の読書記録【2022年版】 Qiita · Hideharu Nagakura ·
紹介された版: 初版(2022年)
2022年に読んだ書籍をまとめた記録の「設計」欄で本書を紹介している。技術評論社から2022年4月30日に発売された書籍として挙げ、内容を、より成長させやすいコードの書き方と設計を学ぶ入門書と説明している。設計分野の本の一つとして、コードの書き方と設計を学ぶものと位置づけている。
- 【備忘録】コードを書くときに気をつけること(2) Zenn · pluck ·
紹介された版: 初版(2022年)
前回に続き、本書で学んだ名前設計を備忘録としてまとめている。「商品クラス」のような広い名前は予約・支払い・在庫・発送を一つに抱え、低凝集・密結合や変更時の影響範囲の拡大、機能の分かりにくさを招くと説明する。関心ごとにクラスを分けるべきだが、実際に関心を見極めるのは難しいとも述べる。実践時は、目的や制約を声に出す、利用規約の特化した名前を参考にする、別の名前に置き換えられなくなるまで考えることを意識するとしている。
- 【備忘録】コードを書くときに気をつけること(1) Zenn · pluck ·
紹介された版: 初版(2022年)
読書の途中で学んだ設計上の注意点を備忘録にし、読了後は困りごとから解決策を引ける形にする予定としている。商品価格の検証・税計算を商品データと別クラスに置く例を挙げ、関連するデータとロジックを同じクラスにまとめ、単体で動く高凝集な設計を説明する。また、汎用utilsにデータ読込処理を集めると変更の影響が広がるとして、データセット側への配置を示す。似た読込処理も将来異なる可能性があるため安易な共通化は不要としつつ、最初の例は思いつきにくかったとも述べている。
- 『良いコード/悪いコードで学ぶ設計入門』の輪読会にミノ駆動さんを招待しました 企業テックブログ · コドモン ·
紹介された版: 初版(2022年)
筆者の会社は業務時間を使う学習制度でこの本の輪読会を行い、終盤に著者を招いて感想や質問を交わす会を開いた。メンバーは、Managerクラスは役割が広すぎて分離できると気づいたと話した。著者はクラスを適切な粒度に分ける必要があると答え、本を人に勧めるときは銀の弾丸ではないと伝えるよう求めた。筆者は新卒メンバーに勧めたいと考えた。
- コドモンさんのミノ駆動本輪読会に呼ばれました 企業テックブログ · READYFOR ·
紹介された版: 初版(2022年)
著者である筆者が、コドモンでの本書の輪読会に最終回で参加した報告。コドモンでは技術的負債の解消に取り組んでおり、本書が負債解消のための共通認識づくりに役立ったという感想を得たと述べている。本書は開発生産性を向上させ、サービスが成長し続けられることを主眼に、特定のIT分野に限定せず広く使えるよう書いたとしている。
- 『良いコード/悪いコードで学ぶ設計入門』輪読会入門 企業テックブログ · コドモン ·
紹介された版: 初版(2022年)
自分が学んだことや皆で話したかった内容が詰まっていると感じ、有志の約10名で毎朝15分の輪読会を開いた。コンストラクタ内のバリデーション、不変、ファーストクラスコレクション、nullを返さない設計などの章が盛り上がり、クラス設計やリファクタリングに踏み込む勇気が出たとしている。
- 【2022年】askenエンジニアがオススメする本をまとめてみた 企業テックブログ · あすけん ·
紹介された版: 初版(2022年)
askenのエンジニアは、コードの実例をもとに、どこがなぜ良い、または悪いのかを具体的に説明している本としている。リファクタリングを進めていくうえでのガイドになりそうだという。
- 未経験エンジニアの僕、コーディングがくそ過ぎて人格否定された件 企業テックブログ · CROOZ ·
紹介された版: 初版(2022年)
駆け出しエンジニア向けの推薦書として2冊目に挙げている。オブジェクト指向言語を前提に書かれ、基礎知識があり設計を学び始めようとする人向けだという。どのような構造がよいかを理解するため、設計の基本的な考え方やクラス設計などをコードをもとに解説する。1冊目より少し難しいかもしれないが、設計の基本を学べると述べている。
- 悪いコードをやっつけよう!『良いコード/悪いコードで学ぶ設計入門』を読んで 企業テックブログ · 虎の穴 ·
紹介された版: 初版(2022年)
社内の技術書購入支援制度で購入して読んだ。悪いコードを示して問題点を指摘し、良いコードに改めていく構成で、サンプルコードはJavaのゲームを題材にしており、表現も平易だと評価している。Domainクラスの推奨やnull、例外の扱いなども紹介されるという。一方、6章のSwitch文をMapに書き換える例には、Java 14以降ならSwitch式のほうが網羅性を担保できると指摘している。
- 【イベントレポート】『良いコード/悪いコードで学ぶ設計入門』著者トークに弊社エンジニア・ミノ駆動が登壇しました! 企業テックブログ · READYFOR ·
紹介された版: 初版(2022年)
READYFORのエンジニアである著者が登壇した著者トークのイベントレポートで、本書のコンセプトや特徴、読み手に身につけてほしいスキル、期待する世界、執筆の裏話が語られたという。参加者の反応として、組織や人との闘いも良いコードづくりに関わるという感想や、悪いコードを認識し改善する指針を与える本だという感想、10章の名前の扱いへの言及を紹介している。
- DDDの腐敗防止層を用いた変更容易性向上 企業テックブログ · READYFOR ·
紹介された版: 初版(2022年)
自身が書いた設計入門書として紹介している。リファクタリングで用いたオブジェクト指向設計の実践的ノウハウをまとめたもので、悪しきコードを例に何が課題でどう改善すれば変更しやすい構造になるかを解説する。初級から中級向けで、Javaで書かれ、約400ページのサンプルコードと事例で、仕様変更時にバグを埋め込みやすい点とその設計対策を中心に扱うという。
この本について
保守しやすく、変更に対応しやすいコードを設計するための考え方と技法を、悪いコードの問題点と改善例を通じて学ぶ入門書である。命名や変数の使い方から始まり、データとロジックのカプセル化、不変性、責務の分離へと進む。プリミティブ型への依存、staticメソッドや共通処理クラスの誤用、多すぎる引数、継承による関心の混在などを取り上げ、クラスの凝集度を高める方法を説明する。条件分岐では早期returnやストラテジパターンを扱い、コレクションの処理を専用クラスにまとめるファーストクラスコレクションも紹介する。設計やコーディング、コードレビューで改善点を捉えるための技術を学べる。
出版社の内容紹介・目次と紹介記事をもとにAIが要約したものです。原文の転載ではありません。
目次(主な章)
出典: 出版社の書籍ページ (章の見出しのみ)
- 第1章 悪しき構造の弊害を知覚する
- 第2章 設計の初歩
- 第3章 カプセル化の基礎―ひとつにまとめる―
- 第4章 不変の活用―安定動作を構築する―
- 第5章 バラバラなデータとロジックをカプセル化する実践技法
- 第6章 関心の分離という考え方―分けて整理する―
- 第7章 関心が混ざったコードを分けて整理する実践技法
- 第8章 条件分岐―迷宮化した分岐処理を解きほぐす技法―
- 第9章 コレクション―ネストを解消する構造化技法―
- 第10章 設計の健全性をそこなうさまざまな悪魔たち
- 第11章 名前設計―あるべき構造を見破る名前―
- 第12章 コメント―保守と変更の正確性を高める書き方―
- 第13章 メソッド(関数) ―良きクラスには良きメソッドあり―
- 第14章 モデリング―クラス設計の土台―
- 第15章 リファクタリング―既存コードを成長に導く技―
- 第16章 設計の意義と設計への向き合い方
- 第17章 設計を妨げる開発の進め方との戦い
- 第18章 設計技術の理解の深め方