Rule of Modularity: Write simple parts connected by clean interface Rule of Clarity: Clarity is better than cleverness Rule of Composition: Design programs to be connected with other programs Rule of the Separation:. Separate policy from mechanism; separate interfaces from engines Rule of. Simplicity: Design for simplicity; add complexity only where you must Rule of parsimony:... Write a big program only when it is clear by demonstration that nothing else will do Rule of the transparency: Design for visibility to make inspection and debugging easier Rule of Robustness: Robustness is the child of transparency and simplicity Rule of Representation:. Fold knoweledge into data, so program logic can be stupid and robust Rule of Least Surprise:. In interface design, always do the least surprising thing Rule of Silence.: WHEN a Program Has Nothing surprising to say, IT Should Say Nothing. Rule of Repair: Repair What You Can - But at You Must Fail, Fail Noisily and As Soon As Possible. Rule O f Economy: Programmer time is expensive; conserve it in preference to machine time Rule of Generation:. Avoid hand-hacking; write programs to write programs when you can Rule of Optimization: Prototype before polishing Get it working before you optimize it... Rule of Diversity: Distrust all claims for "one true way" Rule of Extensibility:.. Design for the future, because it will be here sooner than you think All these rules are from the book: The art of UNIX Programming, written by Eric S. raymond.