70 cosas que todo programador pragmático debería tener en cuenta
desarrollo, libros 0 comentarios »Acabo de leer The Pragmatic Programmer: From Journeyman to Master, todo un clásico sobre el desarrollo ágil, y me ha parecido bastante interesante. Muy recomendable si quieres huir de la metodogía tradicional en cascada o si no sigues ninguna metodología. Si eres de los que lleva tiempo en el mundo Rails, los temas tratados te resultarán de sentido común, pero recuerda que el sentido común es el menos habitual de los sentidos.
El libro nos va resaltando las cosas que todo programador pragmático debería tener en cuenta. Os las enumero aquí para que os hagáis una idea de los temas tratados en el libro. Muchos de los puntos se entienden por sí sólos. Para entender otros será necesario que leáis el libro.
- 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 prodedimientos 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


![Validate my RSS feed [Valid RSS]](/wp-content/themes/javiervidal/images/valid-rss.png)