Une ou développ⋅euse⋅eur confirmé⋅e lance l'idée de s'amuser avec deux ou trois personnes présentes afin de monter en compétence dans l'écriture et la compréhension des du langage JavaScript
Ce test/exercice est inspiré d'un jeu pour enfant en colonie de vacances (Cf la toile scoute Fizz Buzz)
Le “test Fizz - Buzz” est souent utilisé lors d'entretien d'emploi, il est conçu pour aider à filtrer des candidats à la programmation. Le cahier des charges de l' attribution de programmation est le suivant:
« Ecrire un programme qui imprime les numéros de 1 à 100. Mais pour des multiples de 3 print“ Fizz ” au lieu du numéro et pour les multiples de 5 print“ Buzz ” . Pour les nombres qui sont des multiples de 3 et 5 print“ FizzBuzz.” »
Challenge annoncé à voix haute : Le but est d'écrire un tel programme en moins de 10 minutes
OU
Cela donne en commentaire d'introduction dans le code :
// Write a program that prints the numbers from 1 to 100. But for multiples of three print “Fizz” instead of the number and for the multiples of five print “Buzz”. For numbers which are multiples of both three and five print “FizzBuzz”
L'animateur ou nimatrice de la séance rédige en expliquant la syntaxe :
function fizzbuzz (number) { if (number 3 === 0 && number 5 === 0) { console.log('FizzBuzz') }
Puis l'animateur ou animatrice demande aux participant⋅e⋅s de prédire à voix haute le résultat lorsqu'ils rédigent un nombre.
Exemple : “Je pense que le print sera Fizz si j'écris 33”
La ou le participant⋅e rédige la commande :
Fizzbuzz(33) // Le résultat qui s'affiche est alors : => False
L'animateur invite alors les participants à se concerter sur la provenance de l'erreur
Cet exercice peut être perçu comme utile pour estimer les programmeurs étant capable de penser par eux-mêmes face à ceux ayant une tendance copier-coller la solution d'un autre. Laisser les participants penser par-eux mêmes
Dans un esprit de Do-ocratie, apprendre par le faire est un axe essentiel lors de cet atelier. Le droit à l'erreur fait partie du processus d'apprentissage et est inaliénable.
Cela permet l'autonomisation dans les usages et la prise de confiance de la pratique.
Les participants sont conviés à rédiger individuellemnt ou collaborativement des rédaction en javascript pour corriger l'erreur observée et tendre vers l'atteinte de l'objectif fixé en début d'atelier. Le principe de prédire à voix haute le résultat de l'opération avant de lancer l'éxecution est toujours valable.
L'animateur peut aider la progression par quelques nouveaux mini challenges, exemple :
Après découverte des subtilités de la syntaxe propre à JavaScript, les participants doivent, seul ou en groupe, rédiger une solution la plus simplement rédigée et commentée au challenge intiale posé dans le temps le plus court possible.
Répéter la séance quelques jours plutard avec le même groupe permet de consolider les acquis.
function fizzbuzz (number) { if (number % 3 === 0 && number % 5 === 0) { console.log('FizzBuzz') } else if (number % 5 === 0) { console.log('Buzz') } else if (number % 3 === 0) { console.log('Fizz') } else { console.log(number) } }
fizzbuzz(1) // => 1 fizzbuzz(1) // => 2 fizzbuzz(3) // => Fizz fizzbuzz(5) // => Buzz fizzbuzz(15) // => FizzBuzz