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