Zero-One-Infinity Rule
ことわざ
「fooをゼロ個許すか、fooを1個許すか、fooを任意の数だけ許すかのいずれかにせよ」。ソフトウェア設計の経験則であり、与えられた実体(ウィンドウシステムのウィンドウ、OSのファイル名の文字、など)のインスタンス数にrandomな制限を設けるなと説くものである。具体的には、その実体を完全に禁止するか、ちょうど1個のインスタンスを許す(「例外」)か、アドレス空間とメモリが許す限りユーザーが望むだけ許すか、のいずれかにすべきだ、ということである。
この規則の背後にある論理はこうである。何かをゼロ個でなく1個許すのが明らかに理にかなう状況はしばしばある。しかし、さらに進んでN個(N > 1)許すと決めたなら、なぜN+1個ではいけないのか? そしてN+1個なら、なぜN+2個ではいけないのか、と続く。いったん1を超えれば、任意のNを許さない言い訳はない。ゆえにinfinityである。
多くのハッカーはこれに関連して、Isaac AsimovのSF小説『The Gods Themselves』を思い出す。そこではある登場人物が、2という数はありえないと宣言する——2つ以上の宇宙を信じるつもりなら、いっそ無限個の宇宙を信じればよい、というわけである。