フェイルファスト
何かおかしいと気づいた時点で即座に落ちる。誰にも理解できなくなった状態のまま動き続けない。
この原則は、エラーを原因にできるだけ近い場所で検出し、すぐに分かりやすく停止させるべきだ、というものだ。具体的には、関数の冒頭で事前条件を確認し、設定は初回使用時ではなく起動時にすべて検証し、「たいてい何とかなるから」といって例外を握りつぶさない。
動機はデバッグのコストにある。不変条件が壊れたまま動き続けるプログラムは、原因から遠く離れた場所に症状を出し、しばしば数週間後に壊れたデータとして見つかる。Erlangの「let it crash」は同じ原則を突き詰めたものだ。プロセスをあえて壊れやすくし、スーパーバイザーが再起動する。中途半端に壊れた実行より、きれいな再起動のほうが理解しやすいからである。