Trabajar con código legado es duro. Lo normal es que el código legado no este preparado para ser modificado y sea muy dificil de probar, extender, migrar o solucionar errores.
Aprender a como trabajar con código legado es fundamental para poder mantenerlo con calidad, evolucionarlo a nuevas técnologías y que sea fácil de iterar.
En este curso aprenderás patrones, técnicas y diferentes estrategías para trabajar con código legado e introducir test automáticos que nos ayudan a conseguir estos objetivos de una forma más rápida, con calidad y aportando feedback en cada iteración.
Valor del curso
Una vez adquiridas las habilidades que te enseñaré en este curso obtendrás estás ventajas en tus desarrollos:
- reducir costes de mantenimiento
- reducir complejidad y acoplamiento del código
- Minimizar incidencias en producción
- Reducir costes de desarrollo
- Mejorar la base de código sobre la que trabajar
- Aumento la seguridad en el desarrollo
- Aprendes herramientas para trabajar mejor con código legado
- Reducir la deuda técnica
- Reduce los tiempos de prueba al introducir test automáticos poco a poco
Metodología
La parte más dificil de un curso es poner en práctica lo aprendido, por eso en este curso los alumnos pasan la mayor parte del tiempo programando.
El curso esta dividido en módulos y cada módulo consta de parte teórica y parte práctica.
La parte práctica se organiza trabajando en pareja, donde se fomenta un entorno comunicativo mediante ejercicios cortos.
Requisitos
Este curso esta pensado para empresas y para ser impartido in-house. Por lo tanto la empresa debe habilitar una sala con proyector y al menos 1 portátil para cada dos alumnos.
Este es un curso para personas con un mínimo de conocimientos de programación.
El lenguaje no es importante porque es una formación generalista, de hecho en los ejemplos yo utilizo diferentes lenguajes a modo de demostración como Java, C#, Kotlin, Swift porque son los lenguajes con los que he trabajado.
En los ejercicios prácticos se pueden usar también otros lenguajes, eso no es problema.
Contenido
Este curso cubre los siguientes temas:
- Código legado
- Refactoring
- Testing en código legado
- Code smells y Clean Code
- Acoplamiento y abstracción
- Estrategias como:
- Sprout method / Sprout class
- Wrap method / Wrap class
- Mutant testing
- Golden Master testing
- Pararell Change
- Narrow Change
- ...
- Principios SOLID:
- Principio de responsabilidad única
- Principio abierto cerrado
- Principio de Sustitución de Liskov
- Principio de Segregación de Interfaces
- Principio de Inversion de dependencia
- Introdución a arquitecturas limpias
Duración
La duración del curso es de 16 horas.
Puede ser repartido en 2 bloques de 8 horas o 4 bloques de 4 horas.
Precio
El precio del curso son 480€ + IVA por alumno.
El número de alumnos deberá ser entre 5 y 15 alumnos. Si tu equipo es más pequeño contacta conmigo y vemos si podemos colaborar de alguna forma.
Testimonios
"Yo solo puedo recomendar de una forma muy positiva el trabajo de Jorge.
Nos ha ayudado a crecer técnicamente el equipo móvil (Android & iOS), y medio año después el balance que hemos hecho es muy positivo.
El equipo tiene los conocimientos sobre qué tiene que hacer y cómo lo tiene que hacer.
El equipo es mucho más crítico con su propio trabajo.
Las aplicaciones que tenemos en producción cada vez fallan menos.
Para dar datos reales en base a la analítica que extraemos de forma mensual puedo decir que el tiempo invertido en solucionar errores en las aplicaciones en el último trimestre de 2016 fue del 24% y en el primer trimestre de 2017 es del 9% (ya con refactorización e inclusión de tests en base a los conceptos aprendidos con Jorge). De cara al mes de junio ya tenemos programada una mejora en la arquitectura de las aplicaciones con la que esperamos reducir aún más esta tasa y hacer que las aplicaciones sean más extensibles y absorban mejor el cambio.
En resumen, considero que ésta es una de las mejores inversiones que ha realizado RadMas a lo largo de su historia.
100% recomendable"
Jorge Hernán Esparza
"Jorge Sánchez estuvo impartiendo en mi empresa clases acerca de Clean Code. Gracias a las técnicas que nos enseñó hoy nos está siendo más fácil el mantenimiento de las aplicaciones que desarrollamos gracias a que aplicamos lo aprendido en las clases de Jorge.".
Yhondri Josué Acosta Novas
"Jorge es un profesional serio, comprometido con su trabajo y en continuo reciclaje de sus conocimientos. Ha demostrado contar con gran experiencia en las técnicas para la construcción y mejora de software moderno (CLEAN, DDD, SOLID, TDD, CI, etc.). La formación impartida al equipo de Mejora Tu Ciudad está permitiendo que tanto en el ámbito mobile como en backend nuestro producto esté progresando muy positivamente, con resultados observables tanto técnicamente como por parte del cliente final".
Fernando Moro Hernández
"Jorge nos lleva ayudando durante varias semanas a asentar conceptos acerca de principios de desarrollo SOLID, TDD, buenas prácticas, etc.
Gracias a su formación, ya contamos con herramientas de testing en nuestros desarrollos de aplicaciones. La formación se estructuraba en sesiones teóricas así como prácticas, en forma de katas de programación, pudiendo aplicar los conocimientos de primera mano. Las sesiones son amenas y muy entretenidas, cualquier duda o pregunta nos atiende sin ningún problema. Además también adjunta al final de las sesiones un apartado de bibliografía recomendada para continuar con la adquisición de los conocimientos. En definitiva la formación es bastante completa y útil para desarrolladores que buscan limpieza y organización de código".
Carlos Ramírez Lizán
"Conocí a Jorge a través de de su primer blog, xurxodeveloper.blogspot.com. Yo ya venía siguiendo su línea por los aportes a la calidad de software que nos hace en sus artículos, y me pareció una persona con suficiente experiencia. Así fue como decidí solicitarle un curso sobre testing en Android. El curso ha sido una de las mejores inversiones que he hecho. Estoy muy contenta con su trabajo y lo que he aprendido con él, yo lo recomiendo al 100% y en estos temas no he encontrado otra persona con tanto nivel de especialización y experiencia en estos aspectos. Le avala lo que podemos saber de él a través de toda la documentación que comparte con la comunidad".
Liudmila Sánchez