Clean Craftsmanship by Robert C. Martin
El libro está dividido en tres partes: las disciplinas, los estándares y la ética.
La 1ª parte es la más técnica. Te guía con ejemplos de TDD, mostrando cómo el testing puede ayudarte a diseñar tu código.
La 2ª parte trata sobre productividad, calidad y coraje.
La 3ª parte trata sobre cómo llegamos aquí en términos de personas que desarrollan software, y nuestra responsabilidad dentro de nuestra ética sobre no hacer daño, integridad y trabajo en equipo.
Una de mis partes favoritas del libro:
Nuestra industria del software es tremendamente dinámica y cambiante; por lo tanto, todos debemos ser aprendices continuamente agresivos.
¿Cómo y cuándo haces este aprendizaje? Si tu empleador te proporciona el tiempo y el espacio para hacer este tipo de aprendizaje, entonces aprovéchalo tanto como puedas. Si tu empleador no es de ayuda, entonces tendrás que aprender en tu propio tiempo.
Prepárate para dedicar varias horas al mes. Asegúrate de tener el tiempo personal reservado para ello.
Sí, sé que tienes obligaciones familiares, facturas que pagar, aviones que coger, y tienes una vida. Vale, pero también tienes una profesión. Y las profesiones necesitan cuidado y mantenimiento. Espero que todos seamos aprendices continuos y agresivos.
Capítulo 11. Coraje - Aprendizaje Agresivo Continuo
Índice
Parte I: Las Disciplinas
Capítulo 1. Artesanía
- Extreme Programming
- Test-Driven Development
- Refactoring
- Diseño Simple
- Programación Colaborativa
- Tests de Aceptación
Capítulo 2. Test-Driven Development
- Visión General
- Lo Básico
Capítulo 3. TDD Avanzado
- Quedarse Atascado
- Arrange, Act, Assert
- Test Doubles
- Arquitectura
Capítulo 4. Diseño de Tests
- Testeando Bases de Datos
- Testeando GUIs
- Patrones de Test
- Subclase Específica de Test
- Humble Object
- Diseño de Tests
- Rompiendo la Correspondencia
Capítulo 5. Refactoring
- ¿Qué es Refactoring?
- El Kit Básico de Herramientas
- Extract Method
- Las Disciplinas
Capítulo 6. Diseño Simple
- YAGNI
- Cubierto por Tests
- Cobertura
- ¿Diseño?
- Maximizar Expresión
- La Abstracción Subyacente
- Minimizar Duplicación
- Minimizar Tamaño
Capítulo 7. Programación Colaborativa
Capítulo 8. Tests de Aceptación
- La Disciplina
- El Build Continuo
Parte II: Los Estándares
Capítulo 9. Productividad
- Nunca Enviaremos M***da
- Adaptabilidad Económica
- Siempre Estaremos Listos
- Productividad Estable
Capítulo 10. Calidad
- Mejora Continua
- Competencia Sin Miedo
- Calidad Extrema
- No Volcaremos en QA
- QA No Encontrará Nada
- Automatización de Tests
- Testing Automatizado e Interfaces de Usuario
- Testeando la Interfaz de Usuario
Capítulo 11. Coraje
- Nos Cubrimos Mutuamente
- Estimaciones Honestas
- Debes Decir NO
- Aprendizaje Agresivo Continuo
- Mentoría
Parte III: La Ética
- El Primer Programador
- Setenta y Cinco Años
- Nerds y Salvadores
- Modelos a Seguir y Villanos
- Gobernamos el Mundo
- Catástrofes
- El Juramento
Capítulo 12. Daño
- Primero, No Hacer Daño
- Mejor Trabajo
- Prueba Repetible
Capítulo 13. Integridad
- Ciclos Pequeños
- Mejora Implacable
- Mantener Alta Productividad
Capítulo 14. Trabajo en Equipo
- Trabajar como Equipo
- Estimar Honesta y Justamente
- Respeto
- Nunca Dejes de Aprender
Encontré esta charla en YouTube donde Uncle Bob habla sobre la mayoría de los temas de su libro Clean Craftsmanship.
Escucha sobre:
* Cita e Intro - [00:00:00]
* Trayectoria Profesional - [00:07:29]
* Clean Craftsmanship - [00:10:53]
* Programador como Profesión - [00:15:31]
* Artesanía - [00:18:45]
* Disciplinas - [00:22:45]
* Disciplinas: Test-Driven Development - [00:28:49]
* Disciplinas: Refactoring - [00:34:31]
* Cobertura de Código - [00:39:02]
* Estándar: Nunca Enviar M***da - [00:42:35]
* Estándar: Siempre Estar Listo - [00:47:15]
* Ética: No Hacer Daño - [00:50:00]
* Ética: Estimar Honestamente - [00:53:56]
* 2 Sabiduría de Tech Lead - [00:57:50]