Cette semaine, c'est Benjamin qui vous propose un #KataOfTheWeek : FizzBuzz

Briefing du Kata : Pour ce début d'année 2020, je n'ai pas trop eu le temps de chercher un kata donc je vous en propose un très soft.

Avez-vous déjà joué au FizzBuzz lors d'apéro entre copains ?

Le principe est assez simple. Il vous faut compter de 1 à 100 en remplaçant les multiples de 5 par Fizz et les multiples de 7 ou qui se termine par 7 par Buzz. Lorsque le nombre est divisible par 5 et 7, vous le remplacez par FizzBuzz. L'une après l'autre, chaque personne autour de la table doit deviner le chiffre. La personne qui se trompe doit boire. La personne qui arrive à 100 peut rajouter une règle. Je pense que vous comprenez le jeu.

Je ne pense pas que vous allez avoir de difficulté à créer le programme pour résoudre ce problème. Cependant, j'aimerais que vous utilisiez le principe du TDD (Test Driven Development) lors du développement de votre kata. On est souvent sur des projets où l'on écrit des tests après coup. Ici, vous avez le temps vu que ce n'est pas compliqué. Vous allez devoir d'abord écrire vos tests, un test à la fois. Par exemple, si je suis un multiple de 5, je renvoie 'Fizz'. Ensuite, vous codez la solution pour que votre test passe. Vous faites du refacto si besoin et enfin, vous passez au second test.

Cet exercise est vraiment idéal pour faire de la TDD. Pour récapituler les règles :

  • on retourne Fizz si le nombre est divisible par 5.
  • on retourne Buzz si le nombre est divisible par 7 ou finit par 7.
  • on retourne FizzBuzz si le nombre est divisible par 5 et 7.
  • sinon on retourne le nombre

Après coup, j'ai trouvé un autre exercise sympa. On va dire que je suis tombé sur 100 et que j'ajoute une nouvelle règle :). Pour tous les nombres, vous devez les traduires en Romain. Ainsi, 2 devient II. Il va falloir ajouter un parser de nombre en chiffre romain.

Saurez-vous résoudre le problème ?

Bon courage ! Retrouvez la solution dans cet article 😉