70 cosas que todo programador pragmático debería tener en cuenta
- Mima tu obra
- ¡Piensa!, sobre tu trabajo
- Proporciona opciones, no excusas
- No vivas con ventanas rotas
- Sé un catalizador del cambio
- Ten perspectiva
- Haz de la calidad un requisito
- Invierte regularmente en tu conocimiento
- Analiza críticamente lo que lees y oyes
- Importa lo que dices y cómo lo dices
- No te repitas
- Haz que sea fácil la reutilización
- Elimina las interacciones entre cosas no relacionadas
- No hay decisiones finales
- Utiliza balas trazadoras para encontrar el objetivo
- Prototipa para aprender
- Programa cerca del dominio del problema
- Estima para evitar sorpresas
- Replanifica según codificas
- Mantén el conocimiento en texto plano
- Utiliza el poder de los comandos de la shell
- Aprende a utilizar un editor a fondo
- Utiliza siempre control del código fuente
- Arregla el problema, no busques culpables
- Evita el pánico
- “select” no se ha roto
- No lo asumas, pruébalo
- Aprende un lenguaje de manipulación de textos
- Escribe código que escriba código
- No puedes escribir software perfecto
- Diseña con contratos
- Haz que los errores aparezcan pronto
- Si no puede ocurrir, asegúrate de que no ocurra
- Utiliza excepciones para problemas excepcionales
- Acaba lo que empieces
- Minimiza el acoplamiento entre módulos
- Configura, no integres
- Pon las abstracciones del código en metadatos
- Analiza el flujo de trabajo para mejorar la concurrencia
- Diseña utilizando servicios
- Diseña siempre pensando en la concurrencia
- Separa las vistas de los modelos
- Utiliza el patrón pizarra para coordinar los flujos de trabajo
- No programes por coincidencia
- Estima el orden de magnitud de tus algoritmos
- Comprueba tus estimaciones
- Refactoriza pronto, refactoriza a menudo
- Diseña para testear
- Testea tu software, ya que si no lo harán tus usuarios
- No utilices asistentes de código que no entiendas
- No recojas requerimientos, escava para encontrarlos
- Trabaja con un usuario para pensar como un usuario
- Las abstracciones viven más que los detalles
- Utiliza un glosario en tus proyectos
- No pienses fuera de la caja, encuentra la caja
- Escucha a tus dudas persistentes — Empieza cuando estés preparado
- Algunas cosas se hacen mejor que se describen
- No seas un esclavo de los métodos formales
- Las herramientas caras no producen mejores diseños
- Organiza alrededor de la funcionalidad, no de los puestos de trabajo
- No utilices procedimientos manuales
- Testea pronto, testea a menudo, testea automáticamente
- La codificación no termina hasta que todos los tests hayan pasado
- Utiliza saboteadores para testear tus tests
- Testea pensando en los estados de tu aplicación, no en las líneas de código
- Busca los bugs sólo una vez
- Utiliza tu lengua como otro lenguaje de programación (documenta)
- Genera tu documentación de la manera más automática posible
- Excede las expectativas de tus usuarios
- Firma tu trabajo
