ISBN 9784873115658

リーダブルコード : より良いコードを書くためのシンプルで実践的なテクニ

リーダブルコード : より良いコードを書くためのシンプルで実践的なテクニ
刊行
2012-06

概要

コードを読む人を主語に置いた命名・構造・コメント設計を実践する

想定読者

コードレビューや保守対応で「読みにくい」と感じ始めた経験1〜4年のエンジニア

こんな人には向いていない

  • DDD・Clean Architecture など設計思想の体系的な理論を求める読者には、本書は原則の適用例が中心で設計パターンの網羅的な解説は得られない
  • 特定フレームワークやAPIの習得を目的とする初学者には、本書は言語・FW非依存の原則集であるため即効感が得にくい
  • コードレビューでリーダブルコードの原則を既に日常的に実践しているシニアエンジニアには既知の内容が多い

この本で身につくこと

  • 変数・関数・クラスの名前に「何をするか」と「何をしないか」を込め、名前だけで意図が伝わるコードを書ける
  • 条件分岐のネストや早期リターンの使いどころを判断し、制御フローを読む順番に沿って整理できる
  • コメントに「何を」ではなく「なぜ」「何に注意すべきか」を書く習慣を身につけられる
  • 大きな関数を関心ごとに分割し、テスト可能で再利用しやすい粒度に再構成できる
  • テストコードを仕様のドキュメントとして機能させる書き方の基礎を習得できる

ハイライト(外部からの言及)

コードは理解しやすくなければならない。本書はこの原則を日々のコーディングの様々な場面に当てはめる方法を紹介する。 — 出典

「動く」ではなく「理解できる」を優先基準に置くという本書の立場が最も端的に表れている宣言文

章立て

表面上の改善:名前の付け方とコメントの書き方

即効性が最も高い領域。コードレビュー前後に繰り返し参照する使い方が実践者に共通している

ループとロジック:制御フロー・論理式・変数の扱い

ネストの深さや条件式の書き順を見直す具体的な指針が集中しており、既存コードの改善に直結する

コードを再構成する

大きすぎる関数を分割する判断基準を学べる章。設計入門書への橋渡しになる内容

テストと読みやすさ

テストを「仕様のドキュメント」として設計する視点を初めて意識するきっかけになる

関連記事 / 参考情報

学習のヒント

  • 本書は章が短く独立しているため、通読より「コードレビュー前後に1〜2章確認する」参照書としての使い方のほうが知識が実務に定着しやすい
  • 各章の「悪い例 → 良い例」の対比を、自分が今書いているコードで置き換える練習をすると読書が即座に実務直結する
  • 日本語版巻末の須藤功平氏による解説は、日本語命名や日本チームの開発文化との接続点として、通読後に読むと理解が定着する
  • 読後はチームのコードレビューで「リーダブルコードの命名原則」を共通言語として使うと、フィードバックの精度と受け入れやすさが上がる

前提知識

  • いずれかのプログラミング言語で 100 行以上のコードを書いた経験(言語は問わない)
  • チーム開発またはコードレビューを通じて「他者のコードを読む」場面を経験したことがある

次に読む本

リファクタリング(第2版): 既存のコードを安全に改善する

本書で可読性の原則を学んだ後、既存コードを体系的な手順で安全に改善する技法を習得する定番書

良いコード/悪いコードで学ぶ設計入門

リーダブルコードより一段踏み込んだクラス設計・オブジェクト設計の原則を、豊富な例で学べる日本発の実践書

Clean Code アジャイルソフトウェア達人の技

同じ「コードの読みやすさ」を扱いながら、より大きな設計判断・プロフェッショナリズムまで踏み込んだ上位互換的な内容

出版社による内容紹介

コードは理解しやすくなければならない。本書はこの原則を日々のコーディングの様々な場面に当てはめる方法を紹介する。名前の付け方、コメントの書き方など表面上の改善について。コードを動かすための制御フロー、論理式、変数などループとロジックについて。またコードを再構成するための方法。さらにテストの書き方などについて、楽しいイラストと共に説明する。日本語版ではRubyやgroongaのコミッタとしても著名な須藤功平氏による解説を収録。

この本がどの学習段階で役立つかは、 関連する ロードマップ から確認できます。

質問に答えるだけで、
あなたに合う専門書が見つかる

IT・デザイン・士業・医療・経理・教育・研究 ほか、あらゆる分野の専門書と 「読む順序」(学習ロードマップ)を収録。何を選べばいいか分からなくても、 いくつかの質問に答えるだけでたどり着けます。