3 ms·
No, I was actually trying to be specific. There's usually nothing wrong with 0/1 or 1-9. Empirically, 0/1/2 either means no/yes/yes-and-something-obscure-on-to
by rolux 14y ago
No, I was actually trying to be specific. There's usually nothing wrong with 0/1 or 1-9.
Empirically, 0/1/2 either means no/yes/yes-and-something-obscure-on-top-of-that, or, worse, as in this case, no/kind-of-but-not-really/yes.
- prodigal_erik 14y agoIt's akin to http://c2.com/cgi/wiki?ZeroOneInfinityRule http://c2.com/cgi/wiki?ZeroOneInfinityRule. If you started out thinking it was just a switch, you should be very reluctant to add a third state without rethinking what you really need to express, or you end up with my favorite from TheDailyWTF: enum Bool { True, False, FileNotFound }; This would have been much safer as separate AUTHENTICATE_CERT (which checks the CA sig and expiry and revocation) and VERIFY_CERT_COMMON_NAME options, both of which default to true.