A helpful comment pointed me to Rusty Russell's Hard to
Misuse Interface Levels rules (a play on "easy to use").
I've reproduced them here in one place, since I always seem to want
to refer to it. See the original for fun examples. Higher is
better.
- Impossible to get wrong
- Compiler/linker won't let you get it wrong
- Compiler/linker warns if you get it wrong
- Simplest use is correct
- The name tells you how to use it
- Do it right or breaks at runtime
- Follow the convention and you will get it right
- Read the documentation and you will get it right
- Read the implementation and you will get it right
- Read a mail list thread and you will get it right
- Read the documentation and you will get it wrong
- Follow the convention and you will get it wrong
- Do it right and it will break at runtime
- The name tells you how not to use it
- The obvious use is wrong
- Compiler/linker will warn you if you get it right
- Compiler/linker won't let you get it right
- Impossible to get right
posted at: Mon, 24 Jul 2006 16:46 |
in /code/badcode |
permalink | add comment (0 others)