
Pour faire du TDD, je montrerais QuickCheck.
Pour l'immutabilité, je montrerais les Lenses.
Eviter d'utiliser des listes partout, notamment dans DayStmt, WeekStmt et
MonthStmt, vu que le nombre de champs est fixe. Utiliser des lenses ici
serait pas mal, surtout pour réécrire la fonction finale. Si je comprends
bien elle fait une sélection et une réduction, donc parfait avec des lenses.
Je ne suis pas convaincu par le Monoid, une simple fonction de réduction
suffirait :
toStats :: [Temperature] -> Statistics
Là c'est compliqué inutilement je trouve.
Sylvain
Le 3 avril 2014 09:35, Gautier DI FOLCO
Le 3 avril 2014 00:01, Valentin Robert
a écrit : Peux-tu lister les thèmes que tu souhaites aborder ? Et les lier aux
parties de ton code ?
En gros c'est un coding dojo TDD sur l'immutabilité. L'idée est de montrer à ceux qui font de la POO/impératif qu'ils n'ont pas besoin de "changer d'état" pour arriver à leurs fin. (Grosso-modo : mettre moins de POO et plus de fonctionnelle, ça fait un code plus beau) Typiquement, les points clefs : - TDD - Immutabilité - ValueObject (tiré de DDD) : l. 17 - 50 - Monoïdes : l. 56 - 78
J'ai du mal à voir la puissance du fonctionnel dans ton code.
dur
_______________________________________________ Haskell-fr mailing list Haskell-fr@haskell.org http://www.haskell.org/mailman/listinfo/haskell-fr