forked from ferrumfix/ferrumfix
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathZEN.txt
50 lines (34 loc) · 1.41 KB
/
ZEN.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
1. Rule of Modularity
Write simple parts connected by clean interfaces.
2. Rule of Clarity
Clarity is better than cleverness.
3. Rule of Composition
Design programs to be connected to other programs.
4. Rule of Separation
Separate policy from mechanism; separate interfaces from engines.
5. Rule of Simplicity
Design for simplicity; add complexity only where you must.
6. Rule of Parsimony
Write a big program only when it is clear by demonstration that nothing else will do.
7. Rule of Transparency
Design for visibility to make inspection and debugging easier.
8. Rule of Robustness
Robustness is the child of transparency and simplicity.
9. Rule of Representation
Fold knowledge into data so program logic can be stupid and robust.
10. Rule of Least Surprise
In interface design, always do the least surprising thing.
11. Rule of Silence
When a program has nothing surprising to say, it should say nothing.
12. Rule of Repair
When you must fail, fail noisily and as soon as possible.
13. Rule of Economy
Programmer time is expensive; conserve it in preference to machine time.
14. Rule of Generation
Avoid hand-hacking; write programs to write programs when you can.
15. Rule of Optimization
Prototype before polishing. Get it working before you optimize it.
16. Rule of Diversity
Distrust all claims for “one true way”.
17. Rule of Extensibility
Design for the future, because it will be here sooner than you think.