Danijel Arsenovski

 

 Tipo: Herramientas y Prácticas de Ingeniería
 Idioma: español
 Formato: Tutorial
 Horario: TBD
 Duración: 90′

 

Gran parte de resistencia al cambio en equipos tradicionales de software proviene de complejidad inherente que caracteriza el software legado, que no cuenta con pruebas automatizada que avalan su correcto funcionamiento y especialmente cuando el software ha sufrido muchos cambios adquiriendo la deuda tecnológica. Como resultado, los desarrolladores adoptan la postura donde se trata de minimizar los cambios que hay que introducir a la base de código fuente: “Si funciona, no lo toques”. En tal clima, es difícil tratar de aceptar cambios de requerimientos continuos y respuesta rápida ante ellos e iteraciones corta tan características de desarrollo ágil.
El tutorial pretende enseñar como las prácticas de desarrollo dirigido por pruebas y refactorización permiten mantener e mejorar el diseño y la calidad de código fuente, dándole al desarrollador la libertad de introducir cambios sin miedo y ponerse en control sobre el proyecto y el código.

Temario
* Introducción
Resistencia a cambio como resultado de base del código fuente fuera del control
* Practicas fundamentales del desarrollo ágil: Refactorización y desarrollo dirigido por pruebas
* El ciclo de Prueba -> Código -> Refactorizar
* Los Olores principales del código fuente: Codigo duplicado Método extenso, clase larga, obsesión por los primitivos, cambio divergente, clase de datos, intimidad inapropiada etc.
* Las Refactorizaciones: Renombrar, Extraer Método, Extraer Clase, Extarer Interfaz, Mover método, Reemplazar Numero Mágico con Constante Simbólica, Reemplazar código de tipo con subclase, Reemplazar condicional con polimorfismo
* Pruebas unitarias permiten validar funcionamiento correcto del código fuente
* Ejemplo practico de evolución de un requerimiento con refactorizacion y pruebas unitarias.