Mob Programming et #NoEstimates : contre-intuitif et efficace
Elm : Making impossible states impossible
1. Elm et les états impossibles
Mon Model sur-mesure
Nicolas Umiastowski
@n_umiastowski
Mercredi 10 novembre 2016
2. Approche initiale
Encoding the answered state of a question in the
constructor does mean that you can’t write code that
doesn’t check for whether a question is answered or
not
7. Je peux tester le message qui s’affiche si au moins une
question ne possède pas de answerId
Je veux pouvoir m’assurer que :
si une question est répondue, alors elle a un answerId
Question répondue qui n’a pas de answerId : Possible
Elm- test
8. Making impossible states impossible :
Le Model est défini de telle sorte que le
compilateur renvoie une erreur si un état
impossible peut se produire
16. Nombre de questions répondues > Total de questions
Impossible
On peut valider qu’une question existante possède un
answerId ou pas, mais on ne peut checker qu’elle a un
état “répondu” ou “non répondu”.
Elm-test
21. S’il n’y a que des questions
répondues…
Alors on affiche le message
correspondant
22.
23. Nombre de questions répondues > Total de questions
Impossible
Toutes les questions existantes sont soit répondues soit
non répondues, avec un état correct
Elm-test
29. Conclusion
Toujours refactoriser
Appliquer les bons patterns permet de progresser
On apprend en faisant
Au début, on prend plus de temps
Mais ensuite on est beaucoup plus rapide, et on évite les
bugs !