Good Code, Bad Code
持続可能な開発のためのソフトウェアエンジニア的思考
Tom Long, 秋勇紀, 高田新山, 山本大祐秀和システム432ページISBN 9784798068169
コード品質タグで同率12位(56冊中)。Zenn・Qiitaなどの13記事で紹介され、全期間では同率58位(言及のある1,753冊中、時点)。
- 紹介記事
- 13件
- 媒体別
- Zenn 6・Qiita 4・企業テックブログ 3
- 初めての紹介
- 最新の紹介
この本を選ぶ前に
- 対象読者
- 設計判断に迷う人や、実装後の書き方に迷う人向け 根拠: 3年目エンジニアが今まで読んできた本を振り返るほか1件
- 難易度
- 入門(初学者向け)紹介記事のAI分析から
- 出版年
- (約4年前)
- タグ内の順位
- コード品質タグで同率12位(56冊中・紹介記事数の順)
- 注意点
- 読むのに深いコーディング知識を要すると感じたとする記事がある 根拠: 年末に読みたいおススメ技術書3選
- 代わりの本
コード品質タグで、この本より新しく紹介記事の多い本
対象読者・難易度・注意点は、紹介記事の内容をもとにAIがまとめたものです(根拠記事へのリンクつき)。出版年・順位・代わりの本は書誌と集計データから出しています。
紹介の推移
本を紹介した記事のうち、この本に触れた記事の割合は、2023年上期以降どの期も1%未満〜2%です。直近の2026年上期は2%(93記事中2記事)でした。
数値を表で見る
| 期間 | この本 | 全体 | 割合 |
|---|---|---|---|
| 2026年上期 | 2記事 | 93記事 | 2% |
| 2025年下期 | 1記事 | 137記事 | 1%未満 |
| 2025年上期 | 2記事 | 127記事 | 2% |
| 2024年下期 | 2記事 | 160記事 | 1% |
| 2024年上期 | 2記事 | 120記事 | 2% |
| 2023年下期 | 3記事 | 132記事 | 2% |
| 2023年上期 | 1記事 | 93記事 | 1% |
「全体」は、その期に公開され、いずれかの本を紹介した記事の数(ZennとQiitaへの同時投稿は1本と数える)。
紹介記事から読み取れること
13件の紹介記事の内容をもとにAIがまとめたものです(根拠記事 4件・生成日 )。各項目に根拠記事へのリンクがあります。
この本の特徴
- コード品質を支える要素として、明確な抽象化レイヤーと明示的・暗黙的なコードの使い分けを示す点である
- 回復可能なエラーと回復不能なエラーを分けて扱い、誤用を防ぐ不変性や専用型にも触れる点である
- 命名やネストの深さからエラー設計、nullの扱い、ユニットテストまでを体系的に扱う点である
- なぜコードが悪いのかを論理的に説明し、実務に寄った設計・コード品質の考え方を扱う点である
言及記事から読み取れる傾向
設計判断に迷う人に向けた本として紹介され、設計の指針や実務に寄った内容が評価されている
初級者向けとされる一方、基礎的な話題だけでなく経験者にも役立つ内容として紹介されている
根拠: 技術書読書ログ「Good Code, Bad Code」、Kindleの技術書セールがヤバすぎる【Amazonプライム感謝祭】
こんな人におすすめ
対象レベル: 初級者向けとされる一方、上級者にもためになるとの記述がある
前提知識:
- 人に勧める観点では、より深いコーディング知識が必要と感じた読者がいる
こんな目標を持つ人に:
- 機能実装後の書き方や設計判断に迷う際の指針を得る
※ この情報は13件の技術記事からAIが分析・生成したものです。表示している分析項目には根拠記事へのリンクがあります。読者の逐語引用ではありません。 実際の内容は書籍でご確認ください。
紹介している記事
いいね数順 · 13件記事ごとの説明は、記事本文のうちこの本に触れた部分をAIが要約したもので、筆者の原文ではありません。
- 3年目エンジニアが今まで読んできた本を振り返る Zenn · 浦川 仁成 · · いいね 30
設計・コード品質・プログラミング原則の本として本書を挙げている。設計判断に迷う人向けとし、良いコードと悪いコードを対比しながら、なぜ悪いのかを論理的に説明している点を紹介する。実務に寄った内容であり、設計について考える際に参照できる本として位置づけている。
- Good Code, Bad Code ~持続可能な開発のためのソフトウェアエンジニア的思考を輪読会で読んだ話 Zenn · stafes · · いいね 10
社内の輪読会で読み、開発やレビューの視点を広げたいという動機で参加したと述べている。コード品質の4つのゴールと6つの柱、抽象化、良い例と悪い例、ユニットテストの原則といった3部の内容を紹介している。具体例が豊富で読みやすく、読了後は開発やレビューで意識できることが増えたが、まだ実践できていない点も多いとしている。
- 若手エンジニアに送る、超爆絶おすすめ技術書7選😁✌️ Qiita · 平等院 排便残像丸 · · いいね 3
ソフトウェア設計について扱う本として紹介し、内容は比較的容易でありながら実践的だと評価している。特に「Chapter 4 エラー」を気に入っていると述べ、設計に関する指針を得られる点を挙げる。機能を実装した後に「この書き方でよいのか」と迷うことが多い人に向けて勧めている。
- 社内で輪読会をはじめて半年経ったので振り返る 〜持続可能な輪読会を目指して〜 Zenn · islands5 · · いいね 3
開発チームの輪読会で半年かけて読み、有名なリーダブルコードは既読者がいるため外し、海外でも出版されている本として選んだと述べている。読み進めるうちコードレビューのコメントが変わり、モジュールやインターフェースの議論が増え、想定や前提といった言葉に敏感になったという。本を軸にコードの読みやすさの認識が揃っていったと感じている。
- 技術書読書ログ「Good Code, Bad Code」 Zenn · むらむー · · いいね 2
コード品質の六つの柱を満たす鍵として、明確な抽象化レイヤーと明示的・暗黙的なコードの使い分けを紹介している。サーバーへのメッセージ送信を例に処理を階層的に分ける考え方や、回復可能なエラーは戻り値などで扱い、回復不能なエラーは気づかせる方法を挙げる。誤用を防ぐ不変性や専用型、テストダブルの使い分け、動作に着目するテストにも触れている。初級者向けとされる本だが、理解していても実践できていない点や言語化できていない点を学べたと評価し、特に抽象化レイヤーの考え方が響いたとしている。
- 個人的に良かった本の紹介・感想 Zenn · tboy · · いいね 1
- 年末に読みたいおススメ技術書3選 Qiita · hr k · · いいね 1
今年読んだその他の本の一つとして本書を挙げ、ルールズ・オブ・プログラミングとベスト3のどちらに入れるか迷うほど素晴らしかったと評価している。一方で、本書のほうが読むのにより深いコーディング知識を要すると感じ、人に勧める観点からベスト3には選ばなかったとしている。
- 3年目エンジニアが今まで読んできた本を振り返る Qiita · 仁成 浦川 ·
設計・コード品質・プログラミング原則の本として本書を挙げ、設計判断に迷う人を対象にしている。概要では、なぜコードが悪いのかを論理的に説明する内容とし、実務寄りである点をポイントに挙げている。34冊を分野別に整理した記事の中で、リーダブルコードやClean Codeなどと並べ、設計に関する書籍の一つとして紹介している。
- 職場での輪読会の最初の一冊目に選びたい「Good Code, Bad Code」書評 企業テックブログ · 虎の穴 ·
理論編・実践編・ユニットテスト編の3部構成で、「品質6つの柱」に沿ってGood CodeとBad Codeを対比する構成をわかりやすいと評価する。エラーの扱いや、他の人がコードをどう理解するかという観点が参考になったという。章立てが細かく分量もあるため、会社での輪読会に向くとしている。
- 引用するために本を読む Zenn · toms ·
- 新人研修でGood Code, Bad Codeの読書会をしました 企業テックブログ · jig.jp ·
筆者の会社では新人研修の読書会の題材に選んだ。リーダブルコードで学びたい内容を含み、比較した書籍の中ではモダンで実践的な内容が多く、フロントエンドとバックエンドを問わず学べる点が理由という。各章を担当者が要約して発表・議論し、約1か月で11章を完走した。感想として、例えがわかりやすい、テスト関係の学びが大きい、第三者目線でコメントや命名を行う重要性を理解した、などが挙がった。
- 【2023年】askenエンジニアがオススメする本をまとめてみた 企業テックブログ · あすけん ·
- Kindleの技術書セールがヤバすぎる【Amazonプライム感謝祭】 Qiita · kagekiyo7 ·
Googleのソフトウェアエンジニア(テックリード)が「良いコードとは何か」を解説する本として紹介し、現代の『リーダブルコード』とも言われると評価している。変数や関数の命名、ネストの深さといった基礎から、エラー設計、nullの扱い、ユニットテストまでを体系的に学べる内容であり、初歩的な話題に加えて上級者にもためになるとしている。
この本について
本書は、正しく動き続け、変更に対応しやすく、既存の仕組みを再発明しないコードを、読みやすさ、予期しない挙動の抑制、誤用の防止、モジュール化、再利用性、テスト容易性の観点から設計する方法を扱う。理論編ではコード品質、抽象化レイヤー、契約、エラーを説明し、実践編では命名やネストから、nullの扱いを含む誤用防止、モジュール化と汎用化までを取り上げる。処理を概念の階層に沿って分ける考え方や、型・関数の宣言など明示できる情報と、コメント・非検査例外など暗黙になりやすい情報の使い分けも示す。回復可能なエラーは戻り値などで呼び出し側に処理を促し、回復できないエラーは例外やアサーションなどで認識させる。ユニットテスト編では、実際の依存やフェイクを優先し、モックやスタブを限定的に用いる考え方と、関数単位より動作単位でテストする方法を扱う。経験3年以内のエンジニアを対象とし、チーム開発の参照にも使える構成である。
楽天ブックスの商品説明と紹介記事をもとにAIが要約したものです。原文の転載ではありません。