jueves, 31 de julio de 2014

Gilded Rose Kata con SOLID


Me encontré la Kata de Gilded Rose en uno de mis libros de cabecera The Coding Dojo de Emily Bache. En breve prometo traducir la Kata al español, pero por ahora, pueden encontrar de que se trata acá.

En esos días el tema de SOLID andaba caliente en entre el grupo de codeadores, que si la responsabilidad del soltero que si se abre y se cierra o que si se invierten. La cuestión es que por más estudio y videos sólo se aprende a programar pues… programando. Así que les lancé el reto que inicialmente era de Refactor y le di un twist aplicando los SOLID Principles.

Emily es una programadora muy linda y hasta proporciona los junits en su GIT porque ya saben, hacer refactor sin junit es como matar gatitos o tuitear lo que comiste. Pero yo soy un poco menos linda y más latosa por lo que les di el código productivo sin junits. Ya sé, algunos me dirán Rox que culeis, pero no es la primera vez que me lo dicen:

Así que el reto era:
  1. Dar cobertura y hacer refactor sin tocar la clase Item class o la propiedad Items 
  2. Aplicar uno o varios principios SOLID al código refactoreado. Ahora sí ya podían tocar cualquier código. 
Los programadores de cabecera de este honorable blog de fanáticos del código limpio y las inspecciones explican de que va cada principio y enseñan su código en nuestro GIT para su deleite y crítica.

Single Responsibility por Luis y por Víctor

Open Closed Principle por Toño

Liskov Substitution por Carlos

Interface Segregation por Yorch

Dependency Inversion

¡Espera más principios prontamente!