Refactorización de código legacy
Transforma código heredado sin romperlo: tests de caracterización para fijar el comportamiento, seams para introducir pruebas, refactors seguros paso a paso, patrón strangler fig y criterio para decidir entre refactorizar y reescribir.
- Nivel
- Avanzado
- Duración
- 16 horas
- Modalidades
- Online en directo · In-company · A medida
- Dirigido a
- Desarrolladores experimentados que mantienen y evolucionan sistemas heredados.

¿Qué es este curso y por qué te interesa?
La mayor parte del trabajo de un desarrollador no ocurre en proyectos nuevos, sino en sistemas heredados: código sin tests, sin documentación, escrito por personas que ya no están y del que dependen procesos de negocio reales. Tocarlo da miedo con razón —cada cambio puede romper algo que nadie sabe que existe— y ese miedo paraliza: el sistema se degrada porque nadie se atreve a mejorarlo.
Este curso enseña el oficio de trabajar con ese código de forma segura. La pieza central es la red de seguridad: tests de caracterización que fijan el comportamiento actual —incluidos sus bugs— antes de cambiar nada, y las técnicas de seams y ruptura de dependencias que permiten meter bajo prueba código que nunca se diseñó para ser probado. Sobre esa red se trabajan los refactors paso a paso: secuencias de transformaciones pequeñas y verificables que mejoran la estructura sin alterar el comportamiento.
La última parte sube de escala: el patrón strangler fig para sustituir sistemas por partes mientras siguen en producción, la gestión de la deuda técnica como decisión económica —qué deuda pagar, cuál asumir y cómo defenderlo ante negocio— y la decisión más cara de todas: cuándo refactorizar y cuándo reescribir, con los criterios y los riesgos de cada camino. El curso es agnóstico de lenguaje, con ejercicios sobre código legacy real en Java, Python y C#.
Capacidades que adquirirás
- Construir tests de caracterización que fijan el comportamiento actual antes de tocar el código.
- Identificar seams y romper dependencias para meter bajo prueba código no diseñado para testearse.
- Ejecutar refactors seguros paso a paso, con transformaciones pequeñas y verificables.
- Aplicar el patrón strangler fig para sustituir sistemas por partes sin parar producción.
- Decidir con criterio cuándo refactorizar, cuándo reescribir y cómo gestionar la deuda técnica.
Objetivos del curso
- 01Comprender el código legacy con técnicas de lectura, exploración y scratch refactoring.
- 02Dominar el ciclo de trabajo seguro: caracterizar, romper dependencias, refactorizar, verificar.
- 03Aplicar el catálogo de roturas de dependencias: extracción de interfaces, wrappers y sobrecarga de constructores.
- 04Refactorizar métodos largos, clases dios y lógica enmarañada en pasos reversibles.
- 05Planificar una migración strangler fig con fases, convivencia y criterios de retirada.
- 06Construir un caso económico de la deuda técnica comprensible para negocio.
¿Es este curso para ti o para tu equipo?
Desarrolladores experimentados que mantienen y evolucionan sistemas heredados.
Desarrolladores que mantienen sistemas heredados
Programadores que trabajan a diario sobre código sin tests y necesitan técnicas para cambiarlo sin incidentes.
Tech leads con sistemas críticos envejecidos
Responsables técnicos que deben planificar la modernización de un sistema en producción y defender el plan ante negocio.
Equipos en procesos de modernización
Equipos inmersos en migraciones o reescrituras parciales que quieren reducir el riesgo con un método probado.
Temario completo
Programa estructurado en módulos. Cada itinerario in-company se ajusta al nivel y a los objetivos concretos del equipo.
- Qué hace legacy al código: la definición operativa es la ausencia de tests.
- Técnicas de lectura: puntos de entrada, trazas y mapas de dependencias.
- Scratch refactoring: refactorizar para entender y tirar el resultado.
- El ciclo de cambio seguro: la disciplina que evita romper producción.
Cómo se imparte
Práctica desde la primera sesión
Cada bloque combina explicación, demostración y laboratorio. Los alumnos trabajan sobre casos reales aplicables a su contexto profesional.
Casos de cliente
En programas in-company partimos de los procesos y datos del cliente. La formación deja de sonar genérica y empieza a resolver problemas concretos.
Materiales de apoyo
Los participantes reciben código, plantillas y guías reutilizables tras la formación. Lo que se aprende se mantiene en el día a día.
Adaptación al nivel del equipo
Antes de impartir, hacemos un breve diagnóstico y ajustamos profundidad y ritmo. La formación no se queda corta ni avanza por encima del grupo.
Modalidades disponibles
Cada formato puede adaptarse al ritmo y al contexto operativo de la organización.
Online en directo
Sesiones en streaming con interacción en vivo, ejercicios guiados y resolución de dudas.
In-company
Programa diseñado a medida y impartido para un único equipo o organización.
A medida
Itinerario completamente personalizado: temario, duración, formato y casos del cliente.
¿Por qué contratar este programa para tu equipo?
La formación no se diseña contra un examen, se diseña contra un objetivo de negocio.
- Mejora de productividad real en el puesto de trabajo.
- Actualización de competencias clave para el negocio.
- Mayor autonomía técnica y reducción de dependencia externa.
- Aplicación práctica inmediata sobre procesos del cliente.
- Mejor adopción tecnológica con criterios profesionales.
- Preparación para proyectos de IA, datos, automatización o desarrollo.
¿Se puede gestionar como formación bonificada?
Este curso puede plantearse como formación para empresas y, según las condiciones de cada organización, podría gestionarse dentro de iniciativas de formación bonificada. En DatIACode te ayudamos a estructurar la propuesta formativa y la documentación necesaria para su valoración.
¿Qué necesitas saber antes de empezar?
- Experiencia sólida desarrollando y manteniendo aplicaciones en producción.
- Conocimiento de testing unitario y manejo de algún framework de tests.
- Recomendable haber cursado Clean Code o tener criterio equivalente de diseño.
Cómo se aplica lo aprendido
- Evolución segura de aplicaciones críticas sin cobertura de tests.
- Reducción de incidentes en producción provocados por cambios en código frágil.
- Modernización progresiva de monolitos con el patrón strangler fig.
- Recuperación de bases de código que el equipo tiene miedo de tocar.
- Priorización y defensa de la inversión en deuda técnica ante negocio.
- Decisiones fundamentadas entre refactorizar, migrar o reescribir un sistema.
Por qué elegir DatIACode
No vendemos formación: diseñamos programas que se traducen en capacidad operativa real.
Experiencia aplicada
Más de 20 años combinando consultoría, desarrollo y formación tecnológica para empresas de distintos sectores.
Visión de negocio
Cada programa parte de los objetivos del cliente. La técnica está al servicio del problema, no al revés.
Adaptación al equipo
Ajustamos profundidad, ritmo y casos de uso al nivel real del equipo tras un breve diagnóstico inicial.
Formación + consultoría
Si la formación destapa un proyecto, podemos acompañarte en su implantación. No abandonamos el resultado.
Especialización en IA
Trabajamos en IA aplicada todos los días. La formación no la imparte alguien que solo enseña, la imparte alguien que también construye.
Orientación a resultados
Entregables tangibles y métricas pactadas. Sin promesas vacías.
FAQ
No. Los ejercicios se hacen sobre katas y código legacy real preparado para el curso en Java, Python y C#. Dicho esto, el último bloque incluye la planificación del ataque al sistema de cada participante, y en formato in-company el taller puede trabajarse directamente sobre el código de la empresa.
Cuéntanos qué necesitas
Te respondemos en menos de 24h laborables con disponibilidad, opciones de modalidad y propuesta a medida si aplica.
- Diagnóstico inicial sin compromiso.
- Propuesta adaptada al nivel y al sector.
- Asesoramiento sobre formación bonificada.
Cursos relacionados
Ver todos los cursos- Ver curso
Programación16 horasClean Code para desarrolladores
- Ver curso
Programación20 horasPrincipios SOLID y patrones de diseño
- Ver curso
IA16 horasGeneración de tests, documentación y refactorización con IA
