Book review: Working effectively with legacy code

WorkinEffectivelyWorking effectively with legacy code
Michael C. Feathers
Prentice Hall, 2005
informitamazon

Working se centra en el trabajo con código sin test y los métodos para lograr ponerlo bajo test para modificarlo sin temor a introducir nuevos bugs. Se divide en tres partes: una primera sobre la naturaleza del cambio y sus efectos; una segunda parte presentada a modo de FAQ donde se describen los problemas habituales a la hora de trabajar con código sin test; y finaliza con una sección de referencia sobre técnicas de refactorización especificas explicadas paso a paso. El libro contiene multitud de ejemplos fácilmente entendibles en C, C++ y Java con los que introduce prácticamente todos los conceptos que menciona.

Las técnicas descritas están enfocadas mayoritariamente a programación orientada a objetos. Además un mínimo conocimento sobre testing y saber que es la inyección de dependencias te ayudarán a aprovechar desde el primer momento la lectura. Está escrito en un inglés sencillo, aunque las constantes referencias a la tercera parte del libro puede hacer que la lectura sea confusa.

Comencé la lectura de este libro por una necesidad de testear código real escrito por mi, así que he tenido la oporturnidad de practicar algo. Tal y como indica en varios puntos de libro, el resultado no siempre se atiene a buenas prácticas de diseño, pero permite poner el código en vereda para posteriromente refactorizarlo. Sin embargo no encontrarás una metodología global sobre su aplicación en proyectos grandes, así que tendrás que buscar algún sistema. Si refactorizas a medida que necesitas agregar funcionalidad o corregir bugs acabarás con partes refactorizadas y partes que no lo están. La otra alternativa (ir refactorizando de las capas inferiores a las superirores) es bastante tediosa, aunque la uso en paralelo. En cualquier caso acabarás con la sensación de que te encuentras ante un problema inabordable. El capítulo We feel overwhelmed describe esa sensación y advierte: no todo va a ser de color de rosa, pero las cosas mejorarán a medida que avances.

En general es un libro recomendable, pero no esperes que solucione tus problemas con código legado de un plumazo; otras lecturas suplementarias sobre refactorización y patrones de diseño ayudarán.

Web del autor – Review en jeremybytes.blogspot.com Review en Slashdot – Resumen en London Java Community Book Club.

Anuncios
Tagged with: , , ,
Publicado en Libros

Deixa a túa opinión

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s

A %d blogueros les gusta esto: