Decoding Alex

Refactor Continuo: Tu Código No es el Código de Hammurabi

Publicado el 4 de abril de 2023

El Código de Hammurabi
Código de Hammurabi.

Cuando escuchas la palabra refactor, ¿qué te viene a la mente? Para muchos, es sinónimo de “arreglar algo que hicimos mal”, y la siguiente pregunta suele ser inevitable: “¿Cuánto me va a costar?”. Esta percepción nace porque, a menudo, tratamos el desarrollo de software como algo estático, inmutable, como si fuese el mismísimo Código de Hammurabi tallado en piedra. O, simplemente, por ese viejo dogma de: “si funciona, no lo toques”.

Pero necesitamos cambiar esa mentalidad. El software no es estático. No basta con modificarlo solo cuando el producto lo exige. Todo lo contrario: es dinámico y debe adaptarse constantemente a un entorno cambiante.


La Deuda Técnica Siempre Pasa Factura

Hace poco me encontré con un proyecto que ejemplificaba a la perfección lo que ocurre cuando se ignora el refactor. Era un código que había permanecido inalterado durante demasiado tiempo, a pesar de que claramente no funcionaba bien. Lo más sorprendente era la cantidad absurda de tests unitarios, que validaban hasta los constructores de las clases. Pero, al rascar un poco, te dabas cuenta de que esos tests eran solo un reflejo de la implementación: un código desarrollado con prisas, bajo presión, sin cariño y con un deadline encima. Sencillamente, era imposible trabajar con él.

Deuda Técnica
Es mejor tener deudas con hacienda.

De Caos a Claridad: El Valor de la Limpieza

Personalmente, me resultó imposible avanzar sin antes hacer algo de limpieza y poner orden. Quería dejarlo como me habría gustado encontrarlo, con la esperanza de que el próximo compañero no tuviera que invertir el mismo tiempo que yo en entender qué estaba pasando.

Es al ordenar cuando realmente ves la magnitud del problema: duplicidades por todas partes, nombres sin sentido y métodos que no hacen lo que prometen (¡yo los llamo “métodos mentirosos”!). Todo esto genera una complejidad innecesaria que impacta directamente en la capacidad de innovar y mantener el software. Trabajar con tranquilidad, en un entorno saludable, es clave. Nuestro código, al final, es un reflejo de nuestra cabeza.

Refactor Contínuo
Cuando el deber toca la puerta.

La Lección del Refactor Continuo

Pasé poco menos de un mes inmerso en ese refactor, un esfuerzo que habría sido totalmente evitable si se hubiera aplicado el concepto de refactor continuo desde el principio. Y, sobre todo, si cuando alguien levantó la mano para decir “esto hay que refactorizar”, no se hubieran llevado las manos a la cabeza.

Al final, lo “barato” les salió, como casi siempre, bastante caro. La deuda técnica siempre se cobra… y con intereses.

Volver a la página principal