[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