法則一覧
DRY 原則
あらゆる知識は、系の中でただ一つの権威ある表現を持つ。
もし
重複した知識は必ずずれていく。コピー同士を一緒に変えることを強制するものが何もないからだ。コストは余分な文字数ではない。将来の誰かが片方だけを直し、自分自身と静かに矛盾するシステムを出荷してしまうことだ。
ならば
重複を排除するのはテキストではなく知識だ。似た2つのブロックを統合する前に、「同じ理由で、同じ人の要求によって変わるか」を問え。違うなら分けたままにせよ。
ただし
誤った抽象より重複のほうが安い — 今は似ているだけの2つのブロックは、分岐が必要になった瞬間に互いを縛り合う