ルールはゴールから逆算して最小限にし、守らせるのはできるだけ道具に任せる。例外なく守るルールと推奨のガイダンスはまず分ける。


目次

  1. ルールはゴールから逆算する
  2. 読み手と一貫性に寄せる
  3. 変えるのも守らせるのも仕組みで

ルールはゴールから逆算する

問うのは「何をルールにするか」ではなくどのゴールを進めたいか(§8.2)

  • 理由を説明できないルールは入れない
  • 1つ増えるごとに全員に覚えて保守するコストがかかる
  • 当たり前のこと、一部の人しか間違えないことは書かない
入れる種類例
危険を避ける使いにくい言語機能への裁定
ベストプラクティスを強制するファイル構成、新機能の制限
一貫性を組み込む優劣のない書き方を1つに決める

読み手と一貫性に寄せる

書きやすさより読みやすさ、そして一貫性そのものに価値がある

  • 意図した挙動(所有権の移動など)を呼び出し側で見せる
  • 驚かせる構文は将来の保守者に通じないので避ける
  • 性能のための例外や自動生成コードの除外は想定しておく

変えるのも守らせるのも仕組みで

変更は問題と直し方として提案し、守らせるのは道具に任せる

  • 言語ごとの経験者がトレードオフで決め、全会一致になる
  • チェッカーやフォーマッタは人の解釈と違ってぶれない
  • ルールにしない知恵はガイダンス(ヒント集など)で流す

関連