launchpad-dev team mailing list archive
-
launchpad-dev team
-
Mailing list archive
-
Message #01975
Rusty on Interface Simplicity
I was just reminded of this excellent list by Rusty, blogged by Martin
Pool yonks ago at:
http://sourcefrog.net/weblog/software/aesthetics/interface-levels.html
It's so good, I'm going to shamelessly reproduce it here:
1. Compiler/linker won't let you get it wrong.
2. Compiler will warn if you get it wrong.
3. The simplest use is the correct one.
4. The name tells you how to use it.
5. Do it right or it will break at runtime.
6. Follow common convention and you'll get it right.
7. Read the documentation and you'll get it right.
8. Read the implementation and you'll get it right.
9. Read the correct mailing list thread and you'll get it right.
10. Read the documentation and you'll get it wrong.
11. Follow common convention and you'll get it wrong.
12. Do it right and it will break at runtime.
13. The name tells you how not to use it.
14. The obvious use is wrong.
15. Compiler will warn if you get it right.
16. Compiler won't let you get it right.
17. It's impossible to get right.
jml
Follow ups