viernes, 2 de mayo de 2008

Ejercicio de Distancia

El otro día hicimos en la facultad, durante POO, un ejercicio que me ha dado muy buenos resultados. El ejercicio consiste en modelar medidas de distancia, o sea un modelo capaz de expresar cosas como "3 metros", "5 centimetros + 10 metros", etc.
Es increíble como un tema que parece tan sencillo genera tantos modelos distintos, tantas ideas distintas sobre como resolverlo y ofrece una gran cantidad de temas para hablar y discutir.
También es interesante porque es un tema que se puede ampliar a medidas de cualquier tipo, como volumen, velocidad, tiempo, riqueza, etc. y por lo tanto como ejercicio siguiente deben hacerlo.
Lo que implemente este año a diferencia de los anteriores, es que para el modelo de medidas genéricas ellos tienen que escribir los test usando TDD, mientras que en el de distancias nosotros les proveemos los test y ellos solo los tienen que hacer andar.
Aún así, dándole los test, los diseños son distintos.... da para pensar no?

3 comentarios:

Abel dijo...

Es verdad, hubo diseños muy variados. Pero lo que me pareció destacable es que la solución más pulida surgió de integrar los mejores aspectos de cada uno de esos diseños (muchos de los cuales parecían, en principio, en extremo diferentes). Un punto interesante para reflexionar sobre la práctica de programación de a pares ¿no?

De paso dejo una felicitación por las clases de POO, que hasta el momento vienen muy interesantes.

Gaboto dijo...

El año pasado no fue igual? que fue lo que cambió?
Lo que me parece un muy buen método para introducir a la gente en el TDD es primero dar los tests hechos, para desarrollar un modelo en base a ellos. Porque de esa manera (al menos a mi me sirvio), se puede entender en principio que los tests son una manera de dar especificaciones de cómo queremos que se comporte nuestro modelo, y no solo tests en el sentido que se conocen mayormente en la industria.
Es decir, nos obligan en principio a pensar en qué queremos, y no en el cómo.
Podemos verlos como un contrato que necesitamos cumplir (y que se va enriqueciendo con el tiempo).

Hernan Wilkinson dijo...

Gracias Abel!
Gabriel, la diferencia es que el año pasado para el ejercicio de Distancias y Medidas les dimos los tests, en cambio este año solo se los dimos para el ejercicio de Distancias y no el de Medidas para que ellos lo hagan.
Comparto lo que decís de los tests, es tal cual.