Refactorizando código legado usando tests de aprobación


Details
Vale, la teoría está clara: no deberíamos cambiar código sin una red de seguridad de algún tipo (típicamente tests automatizados).
Pero... ¿qué pasa cuando necesitas cambiar código que no tiene tests? ¿Y si es imposible añadir tests sin cambiar el código, y por tanto arriesgarnos a cambiar el comportamiento sin saberlo? ¿O qué ocurre cuando quieres cubrir con tests código que es muy difícil de entender?
La sesión estará compuesta de dos partes:
-
Una primera parte muy corta, donde reflexionaremos juntos sobre conceptos como "código legado" o "deuda técnica".
-
Segunta parte con "live coding": mostraré con un ejemplo concreto desarrollado en directo, una técnica para abordar las situaciones antes descritas (y algunas otras) llamada "Testing de aprobación". A partir de una pieza de código infumable que nos han encasquetado para añadir una nueva funcionalidad, veremos cómo crear en primer lugar una red de seguridad de tests, para a continuación poder abordar su refactorización con tranquilidad.
El foco de la parte práctica será cubrir el código legado con tests usando la técnica mencionada. Según el tiempo sobrante, la energía o el interés, avanzaremos o no para comenzar su refactorización.
No es necesario que traigáis nada: simplemente venid y, espero, disfrutad :-) La idea es que durante toda la sesión cualquiera pueda hacer preguntas, debatir, etc., de manera muy relajada. Que lo pasemos bien y todos aprendamos algo.
¡Animaos y pasaos! :-)
🗓 Agenda 🗓
- 18:15 Apertura de puertas, algo de beber y picoteo
- 18:30 Charla por parte de Isidro López
- 20:00 Networking
🗣 Speaker 🗣
Esta sesión será llevada a cabo por Isidro López, involucrado desde los inicios en la comunidad ágil nacional. Tras su paso por Spotify, en la fría Suecia, decidió volver a la terreta para disfrutar del buen clima.
Twitter: https://twitter.com/islomar
LinkedIn: https://www.linkedin.com/in/islomar
🔥 Sponsor 🔥
LynxView (https://lynxview.es) es una consultora tecnológica especializada en desarrollo agile de software, plataformas (cloud con AWS, onprem con Pure Storage) y servicios expertos con Machine y Deep Learning, además de otros servicios como BI, formación,...
Gracias por su implicación y generosidad. La comunidad está profundamente agradecida ❤

Refactorizando código legado usando tests de aprobación