Refactor legacy: empieza jugando a Rambo
Ponte la cinta antes del IDE
Te topas con un legacy cargado como camión soviético. La tentación es entender todo antes de tocar. Mala idea. Activa primero el modo Rambo:
- Limpia lo que sobra: features muertas, flags que nadie lee, libs olvidadas. Si nadie lo usa, es lastre.
- Borra los helpers esotéricos: un util que se usó una vez en 2018 para un test manual. Fuera.
- Corta las rutas zombi: un endpoint sin métricas ni logs es sospechoso. Cierra y mira quién grita.
En el peor caso, Git te devuelve lo que tiraste. La arqueología puede esperar.
Purga primero, comprende después
Cuanto más pequeño el perímetro, más respira tu cerebro. Al reducir el scope, ves enseguida qué se usa de verdad:
- Traza las llamadas:
rgodepcruisete dicen rápido si una dependencia sigue sirviendo. ¿Cero hits? Desinstala. - Revisa eventos y jobs: una cola que nadie consume o un cron mudo son alarmas. ¿Cómo refactorizas un fantasma?
- Observa el runtime: corre la app sin los módulos eliminados. Verás errores reales, no imaginados.
Librerías obsoletas: ¿se quedan o se recodifican?
¿Dependencia jurásica para una sola función? No firmaste para arrastrar moment.js hasta 2025 solo para formatear un Date. Pregúntate:
- ¿Cuántas veces se llama? ¿Tres usos? Reescribe la función en diez líneas y gana una dependencia menos.
- ¿Cuál es el coste de upgrade? Si la lib obliga a seis migraciones mayores, probablemente es más rápido reemplazarla.
- ¿Existe alternativa nativa? Casi siempre. Las APIs estándar cubren 80% de las necesidades; el resto se codifica limpio.
Cuanto más cortes, más legible queda el resto. Y si de verdad borraste una pieza vital, Git la resucita en menos de treinta segundos.
Rambo primero, arquitecto después
Esta fase "a lo bruto" no es la refactor final. Es la preparación del terreno:
- Clarificas el perímetro: menos grasa, más esencial.
- Reduces riesgos: menos dependencias, menos vectores de bugs.
- Aceleras lo siguiente: la reconstrucción real (tests, diseño, desac acoplamiento) se vuelve factible.
Así que sí, ponte la cinta roja y limpia a fuego rápido. Solo después sacas los planos, dibujas una arquitectura y programas como adulto. Git guarda los recuerdos; tú te quedas con la serenidad.