Por Manuel Perez
Quería compartirles esta herramienta que vimos en una kata con Codesai y Audience que me parece una buena alternativa y a la vez complemento de los clásicos UML a la hora de poner sobre la mesa lo que tenemos en la cabeza cuando vamos a diseñar.
Las tarjetas CRC (Class Responsibility Collaborator) es una actividad en grupo de modelado orientado a objetos en la cual el equipo puede manifestar y debatir ideas acerca del diseño de un sistema. Hace especial énfasis en la simplicidad, comunicación y límites de un sistema. Se suele utilizar en las primeras fases del desarrollo de una historia como paso previo a la implementación o escritura de un esquema UML. Esta herramienta fue creada por Ward Cunningham and Kent Beck.
Las tarjetas CRC están formadas por tres partes:
En primer lugar escribimos el nombre de la clase y seguidamente escribimos todas las responsabilidades y colaboradores que tiene dicha clase. Al ser una actividad grupal es deseable que se abra un debate en base a las ideas que van surgiendo. Por otra parte, la actividad fue ideada para ser una actividad presencial con tarjetas físicas por lo que no era posible crear una clase con muchas responsabilidades y colaboradores.
De esta manera podemos hacernos una idea a vista de pájaro del sistema y la relación entre los artefactos que lo componen.
La razón principal y más importante es la de pararse un momento a pensar antes de lanzarse a lo loco a picar código. Por lo general, es muy fácil que una persona del equipo tenga perfectamente claro en su cabeza el diseño y todos lo demás se dejen llevar por su criterio sin cuestionarlo. Esto conduce inevitablemente a un código no escrutado por un equipo crítico.
En definitiva, es una buena herramienta para comunicar y discutir acerca de cómo plantear la solución de un problema antes de atacarla directamente.
Esto no quiere decir que está sea la única forma y la mejor de abordar los problemas de modelado. Solo es una herramienta más a tener en cuenta.
Os dejo algunos enlaces interesantes para seguir investigando acerca del tema.
¿Conocíais esta herramienta?
¿Usáis algún truco para modelar?
¿Quieres más? te invitamos a suscribirte a nuestro boletín para avisarte cada vez que recopilemos contenido de calidad que compartir.
Si disfrutas leyendo nuestro blog, ¿imaginas lo divertido que sería trabajar con nosotros? ¿te gustaría?
Pero espera 🖐 que tenemos un conflicto interno. A nosotros las newsletter nos parecen 💩👎👹 Por eso hemos creado la LEAN LISTA, la primera lista zen, disfrutona y que suena a rock y reggaeton del sector de la programación. Todos hemos recibido newsletters por encima de nuestras posibilidades 😅 por eso este es el compromiso de la Lean Lista