- Regresar »
- Desarrollo »
- Guía Del Programador Pragmático
Cuida tu obra de arte
¿Por qué desperdiciar tu vida desarrollando software si no te preocupas en hacerlo bien?
¡Piensa!, sobre tu trabajo
Desconecta el piloto automático y toma el control. Critica y evalúa constantemente tu trabajo.
Proporciona opciones, no excusas
En vez de excusas, propón opciones. No digas que no se puede hacer algo, explica mejor lo que sí puedes hacer.
No vivas con ventanas rotas
Corrige malos diseños, decisiones equivocadas y el código mal escrito cuando lo veas.
Sé un catalizador para cambios
No puedes forzar que la gente cambie. En vez de eso,muestra cómo podría ser el futuro y ayúdales a participar en tu creación.
Recuerda el "Gran Cuadro"
No te obsesiones con los detalles porque hacen olvidarte de lo que ocurre alrededor.
Haz de la calidad un requisito imprescindible
Involucra a los usuarios para determinar las necesidades de calidad reales del proyecto.
Invierte regularmente en conocimiento
Haz de aprender un hábito
Analiza de forma crítica lo que lees y escuchas
No te dejes convencer por vendedores, dogmas o medios. Analiza la información en tus términos y en basada en tu proyecto.
Importa tanto lo que dices como la forma de decirlo
No tiene sentido tener buenas ideas si no las transmitimos con eficacia.
No te repitas
Cada pieza de conocimiento debe de tener una única e inequívoca representación dentro de un sistema.
Hazlo fácil de reutilizar
Si es fácil de reutilizar, la gente lo hará reutilizable. Crea un entorno que apoye la reutilización.
Elimina los efectos entre cosas no relacionadas
Los componentes de un diseño son autónomos, independientes y tienen un único propósito bien definido.
No hay decisiones finales
Las decisiones no se deben grabar en una piedra, sino en la arena de la playa. Cualquier decisión debe ser susceptible a cambio.
Tracea para llegar a to objetivo
Haz distintas pruebas y tracea los resultados para ver cómo se van compenetrando para llegar a nuestro objetivo.
Usa prototipos para aprender
Crear prototipos es un experiencia para el aprendizaje. Su valor no reside en el código generado, si no en las lecciones que aprendes al crearlo.
Programa cerca del dominio
Diseña y programa usando el mismo lenguaje usado por el usuario.
Haz estimaciones para evitar sorpresas
Haz una estimación antes de empezar. Podrás adelantarte a los posibles problemas futuros.
Sincroniza tu agenda con el código
Usa la experiencia que vayas ganando para refinar las escalas temporales de entrega del proyecto.
Siempre controla el código fuente
El control del código fuente es una máquina del tiempo, siempre puedes volver atrás.
Arregla el problema, no la culpa
No importa de quién o de qué es la culpa, sigue siendo un problema de todas formas y todavía necesita ser reparado.
No te asustes de depurar
Respira profundamente y PIENSA en la causa del error.
No asumas nada, pruébalo
Prueba tu hipótesis en el entorno actual que tengas, con datos reales y condiciones límites.
Escribe código que escriba código
Los generadores de código aumentan la productividad y evitan la duplicación.
No se puede escribir el software perfecto
El software no puede ser perfecto. Protege el código y a los usuarios de errores inevitables.
Diseña con contratos
Recurre a los contratos para documentar y comprobar que el código hace realmente lo que tiene que hacer.
Error tempranero
Un error cuanto antes sea detectado mejor, hará menos daño que aquel que se detecte tarde, hará que creemos que la aplicación funciona.
Excepciones para los problemas excepcionales
El abuso del uso de excepciones pueden convertir tu aplicación en poco legible y sostenible Usa las excepciones para casos excepcionales.
Acaba lo que empiezas
Siempre que sea posible, terminar la funcionalidad en el día que fue comenzada y no dejarla para después.
Configura, no integres
Implementa las opciones para una tecnología usando opciones de configuración.
Diseña servicios de uso
Diseña en términos de servicios independientes.
Separa las vistas desde los modelos
Gana flexibilidad a bajo coste diseñando tu aplicación en términos de modelos y vistas.
Usa pizarras para coordinar el flujo de trabajo
Usa las pizarras para coordinar agentes y hechos dispares, manteniendo la independencia y el aislamiento entre los participantes.
No programes por coincidencia
Confíe sólo en las cosas confiables. Ten cuidado con la complejidad accidental, y no confundas una feliz coincidencia con un plan organizado.
Haz una estimación del orden de tus algoritmos
Ten una idea de la longitud de las cosas antes de empezar a escribir código.
Prueba tus estimaciones
El análisis matemático no te lo dice todo. Prueba el tiempo consumido por tu código en su entorno final.
Refactoriza pronto, refactoriza a menudo
Así como quitas las malas hierbas de un jardín y lo reorganizas, reescribe, haz de nuevo y rediseña el código cuando sea necesario. Arregla la raíz del problema.
Diseño a prueba
Empieza a pensar en las pruebas antes de escribir una línea de código.
Prueba tu software, o lo harán tus usuarios
Prueba sin piedad. No hagas que los usuarios encuentren los errores por ti.
No uses generadores de código que no comprendas
Los asistentes pueden generar montones de código. Asegúrate de entender todo antes de incorporarlo a tu proyecto.
No reúnas requisitos, búscalos
Los requisitos rara vez están en la superficie. Están enterrados bajo capas de supuestos, conceptos erróneos y política.
Trabaja como un usuario para pensar como un usuario
Esta es la mejor forma de conocer cómo funciona el sistema que utilizarán realmente.
Usa un glosario del proyecto
Crea y mantén una única fuente de todos los términos y vocabulario específico de un proyecto.
Empieza cuando estés listo
Has ido adquiriendo experiencia toda tu vida. No ignores las dudas que te puedan surgir.
Algunas cosas son mejores cuando las acabas que cuando se describen
No caigas en la espiral de las especificaciones, en algún momento tenemos que empezar a programar.
Encuentra errores una sola vez
Una vez que los probadores (humanos) encuentran un error, esta debe de ser la última vez que se encuentra. A partir de ahora tienen que ser las pruebas automáticas las que comprueben los errores.
De forma gradual, aumenta las expectativas de los usuarios
Cuando comprendas las expectativas de los usuarios, entonces es el momento de ofrecer un poco más.
Firma tu trabajo
Los artesanos de la Edad Media se sentían orgullosos de firmar su trabajo. Tu también deberías.
Traducción libre de:
"The Pragmatic Programmer" by Andrew Hunt and David Thomas
Published by Addison-Wesley, Oct 1999
ISBN: 020161622X
Publicar un comentario