Beautiful C++: 30 reglas prácticas para un mejor código
352 páginas
Spanish
PDF
4.5

Beautiful C++: 30 reglas prácticas para un mejor código

Beautiful C++: 30 reglas prácticas para un mejor código

Autor:

Año:

Resumen:

Introducción

El libro «Beautiful C++: 30 Core Guidelines for Writing Clean, Safe, and Fast Code» se publicó en 2021 por la editorial Addison-Wesley. Los autores son J. Guy Davidson y Kate Gregory, reconocidos expertos en la comunidad de C++, miembros del comité de estandarización y autores de numerosos artículos técnicos. A diferencia de los libros de texto académicos, este libro no enseña el lenguaje desde cero, sino que ofrece un conjunto significativo de recomendaciones prácticas basadas en las C++ Core Guidelines (recomendaciones de Bjarne Stroustrup y Herb Sutter).

De qué trata el libro

El libro consta de 30 capítulos, cada uno dedicado a una regla (guideline). Las reglas están agrupadas por temas: seguridad, expresividad, rendimiento, gestión de memoria, diseño de interfaces, etc. Los autores no solo enumeran directivas secas, sino que explican en detalle por qué la regla es importante, muestran errores típicos (antipatrones) y ofrecen alternativas correctas en C++17 y C++20. Cada capítulo termina con un resumen y una lista de referencias para un estudio más profundo.

Para quién es este libro

El libro está dirigido a desarrolladores de C++ en activo que ya tienen experiencia escribiendo código (al menos 1-2 años) y quieren mejorar su calidad. Será útil para:

  • Desarrolladores que migran de C++11/14 a C++17/20;
  • Participantes en revisiones de código que buscan criterios objetivos de evaluación;
  • Líderes de equipo y arquitectos que establecen estándares de codificación en el equipo;
  • Estudiantes de últimos cursos que estudian programación industrial.

Qué aprenderá el lector

Después de la lectura, el lector podrá:

  • Escribir código seguro — evitar comportamientos indefinidos, fugas de memoria, condiciones de carrera;
  • Usar RAII (Resource Acquisition Is Initialization) para la gestión automática de recursos;
  • Aplicar punteros inteligentes (unique_ptr, shared_ptr, weak_ptr) en lugar de new/delete sin procesar;
  • Diseñar interfaces expresivas — usar const, noexcept, explicit, conceptos (C++20);
  • Optimizar el rendimiento sin sacrificar la legibilidad — elegir contenedores, algoritmos, evitar copias;
  • Trabajar con excepciones correctamente: no abusar de ellas, pero tampoco evitarlas donde sean apropiadas;
  • Usar características modernas de C++17/20: structured bindings, if constexpr, std::optional, std::variant, ranges;
  • Realizar revisiones de código basadas en criterios objetivos, no en preferencias personales.

Puntos fuertes

1. Enfoque práctico. Cada regla se acompaña de ejemplos de código reales (a menudo fragmentos de proyectos de código abierto). Los autores muestran cómo el código "malo" se convierte en "hermoso" paso a paso.

2. Actualidad. El libro está orientado a C++17 y C++20, los últimos estándares en el momento de su publicación. Se tratan conceptos, ranges, coroutines (en el contexto de las reglas).

3. Autoridad. Ambos autores forman parte del comité ISO C++ y participan directamente en el desarrollo de las Core Guidelines. El libro no es solo un resumen, sino una selección significativa con comentarios desde dentro.

4. Estructura. 30 reglas es una cantidad óptima para un estudio secuencial. El libro se puede leer completo o de forma selectiva, consultando el capítulo necesario según la situación.

5. Lenguaje. Está escrito en un lenguaje vivo y accesible, sin academicismo excesivo. Incluso los temas complejos (semántica de movimiento, forwarding perfecto) se explican a un nivel intuitivo.

A quién se recomienda

El libro será útil para todos los que escriben en C++ y quieren hacerlo mejor. Lo recomiendo especialmente a equipos que están implementando o planean implementar

Recommendations