Tu tarea

¿Puedes detectar algún “code smell” en este código? Te daré una pista, el problema más evidente se engloba dentro de la categoría de Object orientation abusers.

Cómo resolverla

Descarga el código inicial aquí, y elige el lenguaje en el que desees resolver la kata: https://github.com/emilybache/Parrot-Refactoring-Kata

Refactoriza el código aplicando los movimientos de la receta “Reemplazar condicional con polimorfismo”, dando pequeños pasos, y ejecutando los tests con frecuencia. Intenta no modificar el código de producción y el código de tests a la vez y, sobre todo, mantener los tests en verde en todo momento.

Recursos

Agradecimientos

El ejercicio ha sido publicado inicialmente por Emily Bache en su Github.

Este código está fuertemente inspirado en uno de los ejemplos del libro “Refactoring” de Martin Fowler. Es un clásico, y si aún no está en tu estantería, ¡te sugiero que te hagas con una copia!