Una sensación de alivio me invadió mientras leía el primer capítulo donde el autor explica qué es Código Limpio para él y para otros personajes bien reconocidos del desarrollo de software, entre ellos Stroustrup, Booch, Jeffries o Cunningham; ninguno sospechoso de no haber programado suficiente en su carrera como para que su opinión no tenga valor.
Esta sensación que comento comenzó mientras leía el prólogo de James Coplien en el que utiliza el sencillo eslógan de unos caramelos para ilustrar su visión de lo que debe ser un buen profesional del desarrollo de software. El eslógan dice “La honestidad en las pequeñas cosas no es una cosa pequeña”. Coplien explica que este eslógan no solamente nos aconseja que prestemos atención a los detalles, sino que también seamos honestos con el código, con nuestros compañeros acerca del estado de nuestro código y, sobre todo, honestos con nosotros mismos acerca de nuestro código. ¿Hemos hecho todo lo posible para “dejar el campamento más limpio que nos lo encontramos” (tal y como reza el lema de los Boy Scouts)? Coplien añade que “errar es humano, perdonar es divino” y explica que debemos airear nuestra ropa sucia y hacer visible el verdadero estado de nuestro código porque el código nunca es perfecto y un suelo limpio reduce los accidentes.
Pero tuve una revelación cuando en el primer capítulo leí que Robert C. Martin escribía:
Los programadores se enfrentan a una paradoja de valores básicos. Todos los desarrolladores con algunos años de experiencia saben que desordenes previos son causas de retraso. Y sin embargo todos los desarrolladores sienten que la presión les hace dejar mal algunas cosas para conseguir alcanzar las fechas de entrega. En resumen, no se toman el tiempo necesario para ir rápido.
Los verdaderos profesionales saben que la segunda parte de la paradoja está mal. No llegarás a la fecha haciendo mal las cosas. Es más, hacer las cosas mal te retrasará instantáneamente, y te forzará a incumplir la fecha de entrega. La única manera de llegar a la fecha -la única manera de ir rápido- es mantener el código tan limpio como sea posible durante todo el tiempo.
Y finalmente, una lágrima de alegría rodó por mi mejilla cuando leí:
¿No es acaso la mejora continua una parte intrínseca de la profesionalidad?