DISEÑO A TRAVES DEL REFACTORING

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