Loading Likes...

Hemos recibido la visita de codium que nos han impartido el curso Working with Legacy code en las oficinas de habitissimo. Durante dos intensas y completas jornadas, Luis Rovirosa y Jordi Anguela nos han transmitido toda su experiencia trabajando con código legacy.

Pero antes de continuar…

¿Qué es el legacy code?

El término legacy code (código heredado) fue utilizado por primera vez para referirse a código que está siendo mantenido por una persona distinta a la que lo escribió originalmente. A día de hoy podemos añadir varias acepciones más para definirlo.

En muchos casos, nos referimos a código que fue escrito hace tiempo (en muchos casos escrito el día anterior por uno mismo y ya podría ser considerado código legacy). Por otra parte, y quizá es la definición con la que nos sentimos más identificados, el código legacy es aquel que nos da miedo tocar o modificar por si pudiéramos romper todo el proyecto cambiar de forma inesperada el comportamiento de alguna parte del sistema requerida por el negocio. En la mayoría de los casos este miedo viene a raíz de no disponer de un buen sistema de pruebas automatizadas.

El curso

La formación se ha centrado principalmente en enseñarnos técnicas para enfrentarnos a todo ese código heredado, dejando patente la importancia de dedicarle atención a nuestros tests automatizados.

El curso se compone de varios bloques. Cada bloque empieza con una introducción teórica. Le sigue un ejercicio práctico realizado en parejas donde vamos dando feedback constantemente. El bloque se termina con un debate de grupo donde los participantes comparten lo aprendido y tenemos discusiones todos juntos.

Además, quisiera apuntar que entre bloques se hacen pausas para retomar energías con los refrigerios que nos han traído 😉

Vista general de los contenidos del curso:

  • Día 1
    • Cambiando el software con prisas
    • Detectando y resolviendo problemas
    • Desacoplando nuestro código
  • Día 2
    • Cambiando el software con seguridad
    • Testeando un código acoplado
    • Desacoplando y mejorando los tests

Algunos puntos a destacar sobre el curso

Parte práctica, katas

Después de cada bloque de teoría y de cara a consolidar los conocimientos explicados, se hace una parte práctica en formato de kata. En paralelo al concepto conocido en las artes marciales, en la programación las katas son ejercicios que ayudan a mejorar las habilidades propias a través de la práctica y la repetición. Se trata de ejercicios donde lo realmente importante es el camino que se recorre para llegar a una solución y no la solución a la que se llega en sí.

Programación por parejas

Y precisamente, de lo que considero más interesante de las katas es que se realizan por parejas que se van cambiando con cada kata, trabajamos con otras personas del equipo con las que no solemos hacerlo a diario. Por una parte esto ayuda a conocernos mejor y a tener una mayor consciencia de Equipo.

Pero, sobretodo, nos hace ver otros puntos de vista, otras formas de pensar a las que quizá no estamos acostumbrados.

Por otra parte algo más “mundana”, pero creo que tampoco nada desdeñable, al compartir con otra persona el equipo y el entorno aprendemos otras formas de trabajar. Por ejemplo sobre aplicaciones, editores de código y entornos de desarrollo, atajos de teclado, etc. Esto es conocimiento del día a día que llevamos a cabo de forma mecánica, pero que visto desde fuera es una oportunidad para aprender a ser más eficientes y prácticos con las tareas que ejecutamos diariamente.

Loading Likes...

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *