[Haskell-fr] Demande de revue de code
Gautier DI FOLCO
gautier.difolco at gmail.com
Thu Apr 3 17:32:53 UTC 2014
Le 3 avril 2014 16:33, Arnaud Bailly <arnaud.oqube at gmail.com> a écrit :
> Je ne vois pas trop la partie TDD, je trouve personnellement les tests peu
> expressifs.
>
Je pensais le faire vis-à-vis de la "distillation" des spécifications, je
m'explique.
J'ai un diaporama qui va contenir les instructions que je dévoilerais au
fur et à mesure :
- Les températures sont envoyées soit en °C soit en °F, la précision est d
'une décimale.
* T(°C) = (T(°F) - 32)/1.8
* T(°F) = T(°C) * 1.8 + 32
- Les températures sont récoltées matin et soir et sont envoyées par ordre
de récolte, en commençant par un matin.
- On veut les statistiques suivantes pour toutes les valeurs reçues : Minimum
/ Maximum / Moyenne
On veut le résultat en °F uniquement si toutes les valeurs sont en °F.
- On veut ces statistiques uniquement pour les mesures du matin ou
uniquement pour les mesures l'après midi.
- On veut ces statistiques par semaine.
- On veut ces statistiques par mois.
- On veut ces statistiques par mois pour les lundi matin des semaines
paires.
L'idée est d'instaurer un certain rythme.
IMHO illustrer le TDD en Haskell implique de partir de Quickcheck. Tes
> tests sur l'égalité et les propriétés des Temperatures pourraient tirer
> parti de cet outil par exemple.
>
J'ai un peu de mal à voir quelles propriétés tester.
> Par ailleurs si tu veux utiliser HSpec alors je te suggérerai de "suivre
> le grain" de l'API.
>
> describe "Both Fahrenheit" $ do
> it "same" $ do
>
> c'est pas trés "beau", il serait plus logique d'avoir quelque chose du
> genre:
>
> describe "Both Fahrenheit" $ do
> it "should be equal given same value" $ do
> it "should be different given different values" $ do
>
>
Je plaide coupable, mais j'aurais le même problème de nommage avec RSpec.
> Dans le code principal, je ne vois pas trop le problème que tu as avec ta
> classe: j'arrive à compiler ce code sans problème en rajoutant les flags
> qui vont bien (ghc me le dit...).
>
Au moment de l'appel du programme via le shell ? J'utilise cabal, du coup
je suppose que je dois regarder comment l'ajouter dedans.
> Je ne suis pas sûr non plus que l'utilisation intensive d'une notation
> "point-free" aide à la compréhension.... Surtout avec un pipeline de 10
> fonctions. Je te suggérerai de détailler chaque partie de la fonction.
>
ok, mais le but n'est pas qu'ils comprennent l'intégralité de la fonction,
toujours est-il que ça ne me coûte rien de le faire.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.haskell.org/pipermail/haskell-fr/attachments/20140403/5f69758b/attachment.html>
More information about the Haskell-fr
mailing list