Consisten en una serie de máximas tendientes a la elaboración de programas de software siguiendo los ideales de la filosofía Unix.
Regla de Modularidad: Escribe partes simples enlazadas a través de interfaces limpias.
Regla de Claridad: Es mejor contar con Claridad que ofrecer Inteligencia.
Regla de Composición: Diseña programas capaces de contactarse con otros programas.
Regla de Separación: Divide Políticas de Mecanismos, e interfases de motores.
Reglas de Simplicidad: Busca la simplicidad de diseño, recurre a la complejidad sólo cuando cuando hacerlo sea imprescindible.
Regla de parsimonia: Sólo escribe programas largos cuando quede demostrado claramente que no existe otra manera de lograr el objetivo deseado.
Regla de Transparencia: Diseña considerando la visibilidad; la inspección y la depuración han de ser muy sencillas.
regla de Robustez. Robustez es la mancomunión de transparencia y simplicidad.
Regla de Representación: Divide el conocimiento en datos, de modo que la lógica del programa pueda ser robustamente estúpida.
Regla de la menor sorpresa: Al diseñar interfases, siempre haz lo menos sorprendente.
Regla de Silencio: Cuando el programa no tenga nada que decir, que no diga nada.
Regla de Reparación. Cuando falle, que falle estruendosamente y tan rápido como sea posible.
Regla de Economía: Tiempo de programación es costoso, ahórralo en preferencia al tiempo de procesamiento.
Regla de generación: Evita programar a mano; escribe programas que escriban programas.
Regla de optimización: Realiza una maqueta burda funcional, luego mejora su funcionamiento.
Regla de Diversidad: Desconfía de “una única manera verdadera”.
Regla de extensibilidad: Diseña para el futuro, sucederá más pronto que lo que piensas.