Saltar al contenido principal
Formación DatIACode

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.
Sobre el curso

¿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#.

Qué aprenderás

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

Objetivos del curso

  1. 01Comprender el código legacy con técnicas de lectura, exploración y scratch refactoring.
  2. 02Dominar el ciclo de trabajo seguro: caracterizar, romper dependencias, refactorizar, verificar.
  3. 03Aplicar el catálogo de roturas de dependencias: extracción de interfaces, wrappers y sobrecarga de constructores.
  4. 04Refactorizar métodos largos, clases dios y lógica enmarañada en pasos reversibles.
  5. 05Planificar una migración strangler fig con fases, convivencia y criterios de retirada.
  6. 06Construir un caso económico de la deuda técnica comprensible para negocio.
A quién va dirigido

¿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

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.
Metodología

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

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.

Beneficios para empresas

¿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.
Formación bonificada

¿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.

Requisitos previos

¿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.
Aplicaciones

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.
DatIACode

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.

Preguntas frecuentes

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.

Solicitar información

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.
Modalidad de interés*
Número aproximado de alumnos*

Información básica de protección de datos. Responsable: Datiacode Tech S.L.. Finalidad: atender tu solicitud y, si lo aceptas, enviarte comunicaciones comerciales. Legitimación: consentimiento del interesado y/o medidas precontractuales. Destinatarios: encargados de tratamiento descritos en la política. Derechos: acceso, rectificación, supresión, oposición, limitación y portabilidad escribiendo a privacidad@datiacode.com. Más información en la Política de Privacidad.

  • Ver curso
    Programación16 horas

    Clean Code para desarrolladores

  • Ver curso
    Programación20 horas

    Principios SOLID y patrones de diseño

  • Ver curso
    IA16 horas

    Generación de tests, documentación y refactorización con IA

Ver todos los cursos