Book Review: Refactoring

refactoringBookRefactoring
Martin Fowler
412 pages
Addison-Wesley
Language: English
ISBN-10: 0-201-48567-2

Continúo con mis lecturas técnicas y sus respectivos comentarios. En esta ocasión le toca el turno a Refactoring de Martin Fowler, otro de los grandes libros sobre programación que aparecen habitualmente en listas de recomendaciones. El libro es una recopilación enciclopédica de bad smells http://en.wikipedia.org/wiki/Code_smell y posibles refactorizaciones. Además incluye un ejemplo introductorio, un capítulo dedicado a los principios y ventajas de la refactorización y varios capítulos finales sobre refactorizaciones a gran escala y reflexiones finales. El código de los ejemplos está escrito en un Java sencillo y un buen número de explicaciones se ilustran en un UML también muy entendible.
Debido a su carácter enciclopédico leerlo de principio a fin resulta poco atractivo. Una primera lectura no va hacer que asumas todos los posibles code smells; probablemente sólo un análisis sistemático de código real buscándolos activamente ayuda a entrenarse para localizarlos. Los más habituales son fáciles de encontrar con sólo un poco de práctica y constancia. Más difícil es la aplicación paso a paso de los refactorings, pero si dispones de una herramienta que automatice el proceso se pueden explorar posibles soluciones y ver resultados sin mucho coste.
Echo en falta que el capítulo dedicado a las refactorizaciones a gran escala sea más extenso que los tres ejemplos mencionados, aunque entiendo que los casos posibles son tantos que es difícil encontrar problemas y soluciones estándar
Los diez años que han transcurrido desde su publicación no lo han hecho envejecer y su contenido sigue siendo vigente dentro del mundo de la programación orientada a objetos. Como excepción, los criterios que menciona para elegir herramientas de refactorización y el análisis estático de código ha quedado algo obsoleto, puesto que las actuales cumplen las cumplen en su gran mayoría, por lo que se vuelven poco útiles.
El libro asume permanentemente que el código a refactorizar es testable. Si no es así, la lectura sobre Legacy Code de Feathers puede ayudar en ese sentido.

Nota: En http://sourcemaking.com/refactoring puedes encontrar la mayor parte del contenido del libro, sin mencionar el autor y aparentemente publicado bajo Creative Commons , aunque falta el ejemplo introductorio de 40 páginas, y los capítulos 12, 13 y 14. Comprar el libro sigue siendo una buena opción, pero si tu presupuesto no es limitado quizá desees gastar los más de 50€ que cuesta en otro.

Enlaces:
Katas en distintos lenguajes para practicar
Tuts+ está publicando artículos sobre el tema

Anuncios
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: