Que
es diseñar a traves del Refactoring?
-
Tomo
el primer caso de prueba, para implementarlo solo necesito un objeto
y 2 métodos, entonces lo implemento. Nuestro diseño consta por un
momento de un objeto.
-
Luego
tomo el próximo caso de prueba, me doy cuenta que puedo
reestructurar el objeto en 2 objetos, entonces implementar este caso
de prueba puede llevarme a reemplazar uno de los objetos, hago la
reestructuración, corro el primer caso de prueba para estar seguros
de que funciona entonces implementamos el próximo caso de prueba.
-
Así
el sistema va creciendo.
-
Cada
cierto tiempo, el equipo se junta y reestructura el sistema como un
todo, usando:
-
CRC
cards
-
Dibujos,
bosquejos
-
Refactoring
No
todos los refactoring se realizan en pocos minutos.
Rol
de los dibujos en el diseño
Los
dibujos tienen muchas ventajas. Teniendo en cuenta los principios:
-
Inversión
inicial pequeña: Realizar pocos dibujos cada vez
-
Jugar
para ganar: No usar dibujos si no se tienen dudas
-
Retroalimentación
temprana: Rápidamente nos damos cuenta si nuestros dibujos no dan
en el blanco
-
Abrazar
el cambio y viajar ligero: NO guardamos los dibujos una vez que
fueron codificados, ya que las decisiones que representan van a
cambiar mañana
Si
hay un tipo de código que se expresa mejor como dibujo, exprésenlo, edítenlo
y manténgalo como dibujo.
La
objeción no es a los dibujos sino con tratar de tener múltiples formas
de la misma información sincronizada
Lo
mismo aplica para CRC cards, hacerlas para iluminar una pregunta
luego volver al sistema para reducir riesgo |