Kata fizzbuzz


#1

http://wiki.c2.com/?FizzBuzzTest


#2

@jibe-b, @NerOcrO, @camille, @PetitPandaRoux, @Yannick et @will.i.am font une session du kata fizzbuzz en python

  • on s’est essayé aux fonctions calisthenics
  • on a voulu faire le kata sans if sans succès, mais la solution se trouve ici
  • On a étudié les types de conteneurs en faisant la différence entre une liste et un array. Un array est typé alors que la liste est non typée.
  • la formulation du nom du test est importante et doit révéler l’intention du test, mais pas l’implémentation attendue.
  • On a découvert les katas avec contraintes.
  • Découverte pour certains de l’operateur ternaire de la forme a if condition else b

#3

Session avec @jibe-b, @will.i.am, @NerOcrO et @Yannick

On utilise le kata fizzbuzz pour explorer Rust

  • On reparle de la fiche de langage;
    • Rust est de paradigme impératif, fonctionnel et concurrent,
    • de typage statique fort, compilé (avec rustc) dans un binaire executable,
    • la doc officielle fait bien le boulot et il y a un mécanisme intéressant pour les messages d’erreurs avec rustc --explain <CODE>,
    • pour la gestion de lib externe, il y a l’outil cargo
    • Rust est créé par Mozilla, dans un soucis de gestion plus efficace de la mémoire, il y a peut-être beaucoup de chose.
  • La gestion des chaines de caractères est un peut surprenante pour quelqu’un qui viens d’un langage typé dynamiquement
  • L’utilisation de module externe ne semble pas triviale
  • typage i32 au lieu de int

#4

@NerOcrO, @camille, @Yannick, @PetitPandaRoux et @will.i.am explorent la mise en place d’un docker pour les tests.

  • Avec haskell pour utiliser stack, il faut lancer stack run
  • Si l’image n’est pas disponible publiquement il faut builder localement avant de pouvoir executer run
  • @PetitPandaRoux n’est toujours pas convaincu par rapport de Docker vs Vagrant
  • il est facile de lancer un conteneur Docker, pratique pour servir beaucoup de requêtes
  • Il y a un ordre dans le Dockerfile pour la gestion du cache
  • Il y a peut-être un intérêt limité à Docker en développant seul, mais peut avoir un intérêt pour le travail en équipe
  • un autre intérêt est l’aspect documentation exécutable, ce qui évite la documentation obsolète