Puntuación:
El libro goza de gran prestigio entre los programadores por su exploración en profundidad de las técnicas de refactorización, sus ejemplos exhaustivos y sus ideas prácticas. Se recomienda tanto a programadores noveles como experimentados, y destaca su importancia para mejorar la legibilidad y el mantenimiento del código. Sin embargo, algunos críticos señalaron su verbosidad y expresaron su deseo de ejemplos de código en lenguajes distintos de JavaScript.
Ventajas:⬤ Cobertura exhaustiva de las técnicas y principios de refactorización.
⬤ Útil tanto para principiantes como para desarrolladores experimentados.
⬤ Bien diseñado con diagramas de alta calidad y ejemplos prácticos.
⬤ El autor aporta valiosas ideas desde su amplia experiencia.
⬤ Las nuevas refactorizaciones y el contenido actualizado de la segunda edición aumentan su relevancia.
⬤ Actúa como una buena referencia para identificar oportunidades de refactorización.
⬤ Algunos encuentran el estilo de escritura verboso y difícil de seguir.
⬤ Los ejemplos están principalmente en JavaScript, lo que puede no ser del agrado de los desarrolladores que prefieren otros lenguajes como C# o Java.
⬤ La falta de código refactorizado completo para metodologías complejas podría dificultar la comprensión.
⬤ Algunos lectores opinan que podría ser más adecuado como referencia que como libro para leer de principio a fin.
(basado en 123 opiniones de lectores)
Refactoring: Improving the Design of Existing Code
Guía de Martin Fowler para transformar código defectuoso en código bien estructurado.
La refactorización mejora el diseño del código existente y aumenta la mantenibilidad del software, además de facilitar su comprensión. Martin Fowler, firmante original del Manifiesto Ágil y líder de pensamiento en desarrollo de software, proporciona un catálogo de refactorizaciones que explica por qué deberías refactorizar; cómo reconocer el código que necesita refactorización; y cómo hacerlo realmente con éxito, independientemente del lenguaje que utilices.
⬤ Principios de refactorización: comprender el proceso y los principios generales de la refactorización.
⬤ Olores de código: reconocer «malos olores» en el código que señalan oportunidades para refactorizar.
⬤ Mejora de aplicaciones: aplicar rápidamente refactorizaciones útiles para hacer un programa más fácil de comprender y cambiar.
⬤ Construir pruebas: escribir buenas pruebas aumenta la eficacia del programador.
⬤ Mover elementos: una parte importante de la refactorización es mover elementos entre contextos.
⬤ Estructuras de datos: una colección de refactorizaciones para organizar datos, un papel importante en los programas.
⬤ Lógica condicional: usar refactorizaciones para hacer secciones condicionales más fáciles de entender.
⬤ APIs: los módulos y sus funciones son los bloques de construcción de nuestro software, y las APIs son las juntas que usamos para unirlos.
⬤ Herencia: es a la vez muy útil y fácil de usar mal, y a menudo es difícil ver el mal uso hasta que está en el espejo retrovisor---refactorings puede arreglar el mal uso.
Los ejemplos están escritos en JavaScript, pero no debería resultarte difícil adaptar las refactorizaciones a cualquier lenguaje que estés utilizando, ya que son prácticamente iguales en diferentes lenguajes.
Siempre que hayas leído (Refactoring), es hora de volver a leerlo. Y si aún no lo has leído, por favor hazlo antes de escribir otra línea de código-David Heinemeier Hansson, Creador de Ruby on Rails, Fundador & CTO en Basecamp.
"Cualquier tonto puede escribir código que un ordenador entienda. Los buenos programadores escriben código que los humanos pueden entender"-M. Fowler (1999)
© Book1 Group - todos los derechos reservados.
El contenido de este sitio no se puede copiar o usar, ni en parte ni en su totalidad, sin el permiso escrito del propietario.
Última modificación: 2024.11.14 07:32 (GMT)