[Programación] 17 reglas de la programación

Alejandro Gomez Fernandez programacion@lugro.org.ar
28 Oct 2003 11:42:40 -0300


17 reglas de la programación UNIX

     1. Regla de la Modularidad: Escribe partes simples conectadas por
interfaces simples.
     2. Regla de la Claridad: La claridad es mejor que las cosas
        brillantes rebuscadas.
     3. Regla de la Composición: Diseña programas que se conecten con
        otros programas.
     4. Regla de la Separación: Separa pliítica del mecanismo, separa
        las interfaces de las máquinas.
     5. Regla de la Simplicidad: Diseña para la simplicidad, agrega
        complejidad sólo cuando debas.
     6. Regla de la Parsimonía: Escribe un programa enorme sólo cuando
        es claro por demostración que nada más funcionará.
     7. Regla de la Transparencia: Diseña para la visibilidad, para
        hacer fáciles la inspección y el debugging.
     8. Regla de la Robustez: La robustez es la hija de la transparencia
        y la simplicidad
     9. Regla de la Representación: Divide el conocimiento en los datos,
        para que la lógica de la programación pueda ser estúpida y
        robusta.
    10. Regla de la Menor Sorpresa: En el diseño de la interface, siempe
        haz la cosa menos sorprendente.
    11. Regla del Silencio: Cuando un programa no tiene nada
        sorprendente que decir, que no diga nada.
    12. Regla de la Reparación: Cuendo tengas que fallar, falla
        estridentemente tan rápido como puedas.
    13. Regla de Economía: El tiempo del programador es caro, consérvalo
        prefiriendo el tiempo de las máquinas.
    14. Regla de la Generación: Evita el hackeo artesanal, escribe
        programas que escriban programas sólo cuando puedas.
    15. Regla de la Optimización: Haz prototipos antes de publicarlos.
        Consigue que funcionen antes de optimizarlos.
    16. Regla de la Diversidad: Desoye todas las afirmaciones de "una
        única solución".
    17. Regla de la Extensibilidad: Diseña para el futuro, porque estará
        aquí antes de lo que piensas.

Estas joyitas de la experiencia deberían ser cosas que todos los
programadores deberían tener en cuenta, no sólo los programadores Unix.