クリーンコードとは、読みやすく、理解しやすく、メンテナンスしやすいコードのことです。日々変更が加えられるシステムにおいて、クリーンコードはコードの品質を保ち、ソフトウェアの進化を促します。 本書では、ソフトウェアは現実をモデル化したものとして捉え、ソフトウェア設計においてドメインオブジェクトは現実世界の概念と1対1に対応しているべきだとしています。この考えに基づき、コードに頻繁に発生する問題への解決策をレシピという形で解説します。ドメインモデル貧血症、プリミティブ型への執着、命名やコメントの適切な使い方、YAGNI原則、フェイルファストの考え方、if文やnullの使用方法、早すぎる最適化の回避、結合度の低減、階層構造の整理、技術的負債の対処法、メタプログラミングや型の活用など、幅広いテーマを網羅します。 コード改善の実装例を使ってリファクタリングを学ぶ本書は、コーディングスキルを向上させた