<div dir="ltr">Pour faire du TDD, je montrerais QuickCheck.<br>Pour l'immutabilité, je montrerais les Lenses.<br><br>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.<br>
<br>Je ne suis pas convaincu par le Monoid, une simple fonction de réduction suffirait : <br>toStats :: [Temperature] -> Statistics<br>Là c'est compliqué inutilement je trouve.<br><br>Sylvain<br></div><div class="gmail_extra">
<br><br><div class="gmail_quote">Le 3 avril 2014 09:35, Gautier DI FOLCO <span dir="ltr"><<a href="mailto:gautier.difolco@gmail.com" target="_blank">gautier.difolco@gmail.com</a>></span> a écrit :<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div dir="ltr"><div class="gmail_extra"><div class="gmail_quote">Le 3 avril 2014 00:01, Valentin Robert <span dir="ltr"><<a href="mailto:valentin.robert.42@gmail.com" target="_blank">valentin.robert.42@gmail.com</a>></span> a écrit :<div class="">
<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr">Peux-tu lister les thèmes que tu souhaites aborder ? Et les lier aux parties de ton code ?</div></blockquote>

<div><br></div></div><div>En gros c'est un coding dojo TDD sur l'immutabilité.<br></div><div>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.<br>

</div><div>(Grosso-modo : mettre moins de POO et plus de fonctionnelle, ça fait un code plus beau)<br></div><div>Typiquement, les points clefs :<br></div><div> - TDD<br></div><div> - Immutabilité<br></div><div> - ValueObject (tiré de DDD) : l. 17 - 50<br>

</div><div> - Monoïdes : l. 56 - 78<br><br></div><div class=""><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div></div><div>J'ai du mal à voir la puissance du fonctionnel dans ton code.<br>

</div></div></blockquote></div></div><br></div><div class="gmail_extra">dur<br></div></div>
<br>_______________________________________________<br>
Haskell-fr mailing list<br>
<a href="mailto:Haskell-fr@haskell.org">Haskell-fr@haskell.org</a><br>
<a href="http://www.haskell.org/mailman/listinfo/haskell-fr" target="_blank">http://www.haskell.org/mailman/listinfo/haskell-fr</a><br>
<br></blockquote></div><br></div>