技術・品質・チーム · 中級
戻れるコード:名前、構造
一行でいうと: コードは書かれるよりずっと多く読まれる——だから正確な名前と予測可能な構造はどんな巧みさよりも価値がある。
名前
名前は実装方法ではなく、ドメインの言語で物が何をするかを言う。理解するためにコメントが必要な名前は悪い名前だ。
一貫性を保つ:データベースとインターフェースを含むシステム全体で同じ概念に同じ用語。一つのものに二つの名前は常にバグの源だ。
構造
ファイルタイプではなくビジネスドメインで整理する。注文に関連するすべてを含む「注文」フォルダはレイヤーごとの別々のフォルダよりナビゲートしやすい。
境界を保持する:モジュールは内部を通じてではなく定義されたインターフェースを通じて別のものに到達する。システム内に保持された境界は後で必要なら分割を可能にする。
シンプルさ
退屈なコードを好む。三つの実際のケースが存在する前に作られた抽象化はほとんど常に間違っていて、追加するより削除するのが難しい。
さらに深く
コードがテストしにくいとき、それはほぼ常にロジックと絡み合った依存関係のサインだ。モックを追加する代わりに依存関係を注入する——テストが単純化し構造が一緒に改善し、これは修正が必要なデザインの最も信頼できるサインの一つだ。