Regola 0: Keep it simple, stupid! (KISS)
- Regola di Modularità: Scrivi parti semplici connesse da interfacce pulite.
- Regola di Chiarezza: La chiarezza è meglio della ingegnosità.
- Regola di Componibilità: Progetta i programmi per essere connessi ad altri programmi.
- Regola di Separazione: Separa le specifiche dalle meccaniche, le interfacce dai motori.
- Regola di Semplicità: Progetta verso la semplicità e aggiungi complessità solo dove necessario.
- Regola di Parsimonia: Scrivi un programma grosso solo quando è chiaro con evidenza che nient'altro può farcela.
- Regola di Trasparenza: Progetta per la visibilità per rendere il dubug e l'ispezione più semplice.
- Regola di Robustezza:: La Robustezza è figlia della traparenza e della semplicità.
- Regola di Incapsulamento: Raggruppa la conoscenza nei dati in modo che la logica possa essere stupida e robusta.
- Regola di Minor Sorpresa: Nel progettare le interfacce, fai sempre la cosa meno sorprendente.
- Regola del Silenzio: Quanto un programma non ha nulla da dire, non dovrebbe dire nulla.
- Regola del Rimedio: Quando si deve crashare, meglio farlo rumorosamente e il prima possibile.
- Regola Economica: Il tempo del programmatore è costoso, preferiscigli il tempo macchina.
- Regola di Generazione: Evita le modifiche manuali; scrivi programmi che scrivano programmi quando possibile.
- Regola di Ottimizzazione: Crea un prototipo prima di raffinare. Fallo funzionare prima di ottimizzare.
- Regola della Diversità: Diffida di tutte le dichiarazioni dell'esistenza di "un unico vero modo".
- Regola di Estensibilità: Progetta per il futuro, perché arriverà prima di quanto ti possa immaginare.