
Clean C++
Stephan Roth
- Editorial
- Apress
- Año
- 2017
- Páginas
- ~291
- Nivel
- Intermedio
De qué trata
Clean C++: Sustainable Software Development Patterns and Best Practices with C++ 17 es un libro de Stephan Roth publicado por Apress en 2017. Roth es coach, consultor y formador en ingeniería de sistemas y software en la consultora alemana oose de Hamburgo. El libro lleva las ideas de Clean Code y del movimiento Software Craftsmanship a C++ moderno, y está dirigido a desarrolladores C++ de cualquier nivel que quieren escribir código comprensible, flexible y mantenible.
Empieza con las pruebas como red de seguridad: reglas para buenas pruebas unitarias, independencia y nombres de los tests, dobles de prueba y qué no conviene probar. Siguen los principios de diseño (KISS, YAGNI, DRY, ocultación de información, alta cohesión, bajo acoplamiento, mínima sorpresa, regla del boy scout) y los fundamentos de un C++ limpio: buenos nombres, cuándo comentar, funciones pequeñas, argumentos y valores de retorno, y cómo abandonar el estilo C (char*, printf, arrays y casts de C, macros). El capítulo de conceptos avanzados trata la gestión de recursos con RAII y punteros inteligentes, la semántica de movimiento y la regla del cero, la deducción de tipos y el cálculo en tiempo de compilación, el comportamiento indefinido, la programación rica en tipos, <algorithm> y Boost, y el manejo de excepciones. Luego vienen la orientación a objetos con los principios SOLID, la ley de Deméter y Tell, Don't Ask; la programación funcional con functores, lambdas y map, filter y reduce; el TDD, ilustrado con la kata de números romanos en Google Test; y los patrones: inyección de dependencias, Adapter, Strategy, Command, Composite, Observer, factorías, Facade, Money y Null Object, además de idiomas propios de C++. Un apéndice resume UML.
Pese al subtítulo, el índice muestra sobre todo características de C++11 y C++14, como las lambdas genéricas o las plantillas de variables, y el libro salió antes de que el estándar C++17 se publicara oficialmente. No trae ejercicios propuestos, aunque el código de la kata de TDD está en el repositorio oficial. El autor publicó en 2021 una segunda edición actualizada, Clean C++20.
- C++
- Clean Code
- Pruebas unitarias
- Google Test
- TDD
- SOLID
- RAII y punteros inteligentes
- Semántica de movimiento
- Programación funcional
- Patrones de diseño
¿Cómo enseña?
Teoría + práctica
- ✗ Sin ejercicios
- ✗ Sin proyectos

