<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>FizzBuzz on kenji.blog</title><link>http://kenji.blog/fr/tags/fizzbuzz/</link><description>Recent content in FizzBuzz on kenji.blog</description><generator>Hugo -- gohugo.io</generator><language>fr</language><copyright>kenjinote</copyright><lastBuildDate>Fri, 18 Apr 2025 00:58:11 +0900</lastBuildDate><atom:link href="http://kenji.blog/fr/tags/fizzbuzz/index.xml" rel="self" type="application/rss+xml"/><item><title>FizzBuzz</title><link>http://kenji.blog/fr/p/fizzbuzz/</link><pubDate>Fri, 18 Apr 2025 00:58:11 +0900</pubDate><guid>http://kenji.blog/fr/p/fizzbuzz/</guid><description>&lt;img src="http://kenji.blog/p/fizzbuzz/img.png" alt="Featured image of post FizzBuzz" />&lt;h2 id="au-fait-quest-ce-que-fizzbuzz-">Au fait, qu&amp;rsquo;est-ce que FizzBuzz ?
&lt;/h2>&lt;p>Bonjour !&lt;/p>
&lt;p>Aujourd&amp;rsquo;hui, j&amp;rsquo;aimerais parler de « FizzBuzz ».&lt;/p>
&lt;p>Que vous soyez de ceux qui se disent « Ah, je connais ça ! » ou de ceux qui disent « J&amp;rsquo;en ai entendu parler, mais je ne comprends pas vraiment », restez avec moi un instant. Cela ne prend que quelques minutes à lire, et peut-être vous direz-vous : « C&amp;rsquo;est logique ».&lt;/p>
&lt;hr>
&lt;h3 id="est-il-vrai-que--si-vous-ne-pouvez-pas-écrire-fizzbuzz-vous-êtes-un-mauvais-programmeur--">Est-il vrai que « si vous ne pouvez pas écrire FizzBuzz, vous êtes un mauvais programmeur » ?
&lt;/h3>&lt;p>FizzBuzz, pour faire simple, c&amp;rsquo;est ça.&lt;/p>
&lt;div class="highlight">&lt;div class="chroma">
&lt;table class="lntable">&lt;tr>&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code>&lt;span class="lnt">1
&lt;/span>&lt;span class="lnt">2
&lt;/span>&lt;span class="lnt">3
&lt;/span>&lt;span class="lnt">4
&lt;/span>&lt;span class="lnt">5
&lt;/span>&lt;span class="lnt">6
&lt;/span>&lt;span class="lnt">7
&lt;/span>&lt;span class="lnt">8
&lt;/span>&lt;span class="lnt">9
&lt;/span>&lt;/code>&lt;/pre>&lt;/td>
&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code class="language-python" data-lang="python">&lt;span class="line">&lt;span class="cl">&lt;span class="k">for&lt;/span> &lt;span class="n">i&lt;/span> &lt;span class="ow">in&lt;/span> &lt;span class="nb">range&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="mi">1&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="mi">101&lt;/span>&lt;span class="p">):&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="k">if&lt;/span> &lt;span class="n">i&lt;/span> &lt;span class="o">%&lt;/span> &lt;span class="mi">15&lt;/span> &lt;span class="o">==&lt;/span> &lt;span class="mi">0&lt;/span>&lt;span class="p">:&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="nb">print&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="s2">&amp;#34;FizzBuzz&amp;#34;&lt;/span>&lt;span class="p">)&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="k">elif&lt;/span> &lt;span class="n">i&lt;/span> &lt;span class="o">%&lt;/span> &lt;span class="mi">3&lt;/span> &lt;span class="o">==&lt;/span> &lt;span class="mi">0&lt;/span>&lt;span class="p">:&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="nb">print&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="s2">&amp;#34;Fizz&amp;#34;&lt;/span>&lt;span class="p">)&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="k">elif&lt;/span> &lt;span class="n">i&lt;/span> &lt;span class="o">%&lt;/span> &lt;span class="mi">5&lt;/span> &lt;span class="o">==&lt;/span> &lt;span class="mi">0&lt;/span>&lt;span class="p">:&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="nb">print&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="s2">&amp;#34;Buzz&amp;#34;&lt;/span>&lt;span class="p">)&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="k">else&lt;/span>&lt;span class="p">:&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="nb">print&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">i&lt;/span>&lt;span class="p">)&lt;/span>
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/td>&lt;/tr>&lt;/table>
&lt;/div>
&lt;/div>&lt;p>Oui, c&amp;rsquo;est le fameux « Problème FizzBuzz ».&lt;/p>
&lt;p>Vous regardez les nombres de 1 à 100 dans l&amp;rsquo;ordre,&lt;br>
si c&amp;rsquo;est un multiple de 3, vous affichez « Fizz », si c&amp;rsquo;est un multiple de 5, vous affichez « Buzz »,&lt;br>
si c&amp;rsquo;est un multiple des deux, vous affichez « FizzBuzz » – c&amp;rsquo;est extrêmement simple.&lt;/p>
&lt;p>Et pourtant, pour une raison quelconque, c&amp;rsquo;est souvent traité comme « le test minimum pour un programmeur ». Il apparaît lors des entretiens, et sur les réseaux sociaux, vous verrez des commentaires du genre « Quelqu&amp;rsquo;un qui ne peut même pas écrire FizzBuzz&amp;hellip; ».&lt;/p>
&lt;p>Mais, attendez une minute.&lt;/p>
&lt;p>Pouvons-nous vraiment affirmer que « ne pas savoir écrire FizzBuzz = ne pas savoir programmer » ?&lt;/p>
&lt;hr>
&lt;h3 id="il-ne-sagit-pas-de-savoir-si-on-peut-le-faire-mais-si-on-a-l-état--pour-le-faire">Il ne s&amp;rsquo;agit pas de savoir si on peut le faire, mais si on a l&amp;rsquo;« état » pour le faire
&lt;/h3>&lt;p>Il est vrai que FizzBuzz exige une compréhension de la syntaxe et de la pensée logique de base. Il est donc logique qu&amp;rsquo;il soit utilisé pour « vérifier les bases ».&lt;/p>
&lt;p>Mais, voilà.&lt;/p>
&lt;p>Si l&amp;rsquo;environnement est différent, les résultats seront différents.&lt;/p>
&lt;p>Par exemple,&lt;/p>
&lt;ul>
&lt;li>Quand vous êtes nerveux devant un recruteur que vous venez de rencontrer&lt;/li>
&lt;li>Quand on vous tend soudainement un tableau blanc et que vous n&amp;rsquo;avez pas d&amp;rsquo;éditeur sous la main&lt;/li>
&lt;li>Quand vous n&amp;rsquo;arrivez pas à vous souvenir immédiatement de « Au fait, c&amp;rsquo;est quoi le modulo ? »&lt;/li>
&lt;/ul>
&lt;p>&amp;hellip;Cela n&amp;rsquo;arrive-t-il pas ? Nous sommes humains. Je pense que cela arrive.&lt;/p>
&lt;p>Par conséquent, plutôt que de dire « pouvez-vous écrire FizzBuzz », je pense qu&amp;rsquo;il est en fait beaucoup plus important de se demander « pouvez-vous vous mettre dans un état où vous pouvez écrire FizzBuzz ».&lt;/p>
&lt;hr>
&lt;h3 id="le-piège-du-conseil-habituel--il-suffit-de-sentraîner-et-tout-ira-bien-">Le piège du conseil habituel « Il suffit de s&amp;rsquo;entraîner et tout ira bien »
&lt;/h3>&lt;p>Quand ce sujet est abordé, le conseil « Alors entraîne-toi tous les jours ! » a tendance à surgir.&lt;/p>
&lt;p>Il est vrai qu&amp;rsquo;une pratique répétée vous permettra de l&amp;rsquo;écrire couramment, et c&amp;rsquo;est en soi une bonne chose. Mais si nous partons du principe que « si vous ne pouvez pas écrire FizzBuzz, vous êtes disqualifié », cela peut facilement se transformer en simple peur.&lt;/p>
&lt;p>En d&amp;rsquo;autres termes, cela tend à créer une structure où vous ressentez que « j&amp;rsquo;ai fait une erreur = je suis inutile ».&lt;/p>
&lt;p>Par exemple, le jour où vous vous réveillez tard, n&amp;rsquo;avez-vous pas tendance à penser « Je suis un paresseux&amp;hellip; » ? Mais il se peut simplement que votre corps ait été fatigué à ce moment-là.&lt;/p>
&lt;p>FizzBuzz, c&amp;rsquo;est la même chose.&lt;/p>
&lt;hr>
&lt;h3 id="cela-dit-fizzbuzz-reste-une-bonne-question">Cela dit, FizzBuzz reste une bonne question
&lt;/h3>&lt;p>Cela dit, FizzBuzz n&amp;rsquo;est pas une mauvaise chose.&lt;/p>
&lt;p>Au contraire, je pense que c&amp;rsquo;est une question très bien conçue. Les règles sont simples et il est facile de la développer. Par exemple, si vous la modifiez de cette façon, votre réflexion s&amp;rsquo;approfondira.&lt;/p>
&lt;div class="highlight">&lt;div class="chroma">
&lt;table class="lntable">&lt;tr>&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code>&lt;span class="lnt">1
&lt;/span>&lt;span class="lnt">2
&lt;/span>&lt;span class="lnt">3
&lt;/span>&lt;span class="lnt">4
&lt;/span>&lt;span class="lnt">5
&lt;/span>&lt;span class="lnt">6
&lt;/span>&lt;span class="lnt">7
&lt;/span>&lt;/code>&lt;/pre>&lt;/td>
&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code class="language-python" data-lang="python">&lt;span class="line">&lt;span class="cl">&lt;span class="k">for&lt;/span> &lt;span class="n">i&lt;/span> &lt;span class="ow">in&lt;/span> &lt;span class="nb">range&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="mi">1&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="mi">101&lt;/span>&lt;span class="p">):&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="n">output&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="s2">&amp;#34;&amp;#34;&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="k">if&lt;/span> &lt;span class="n">i&lt;/span> &lt;span class="o">%&lt;/span> &lt;span class="mi">3&lt;/span> &lt;span class="o">==&lt;/span> &lt;span class="mi">0&lt;/span>&lt;span class="p">:&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="n">output&lt;/span> &lt;span class="o">+=&lt;/span> &lt;span class="s2">&amp;#34;Fizz&amp;#34;&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="k">if&lt;/span> &lt;span class="n">i&lt;/span> &lt;span class="o">%&lt;/span> &lt;span class="mi">5&lt;/span> &lt;span class="o">==&lt;/span> &lt;span class="mi">0&lt;/span>&lt;span class="p">:&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="n">output&lt;/span> &lt;span class="o">+=&lt;/span> &lt;span class="s2">&amp;#34;Buzz&amp;#34;&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="nb">print&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">output&lt;/span> &lt;span class="ow">or&lt;/span> &lt;span class="n">i&lt;/span>&lt;span class="p">)&lt;/span>
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/td>&lt;/tr>&lt;/table>
&lt;/div>
&lt;/div>&lt;p>C&amp;rsquo;est un exemple qui montre que « vous pouvez l&amp;rsquo;écrire même sans if-elif-else ». C&amp;rsquo;est plutôt astucieux, n&amp;rsquo;est-ce pas ?&lt;/p>
&lt;p>En d&amp;rsquo;autres termes, FizzBuzz ne consiste pas seulement à savoir « si vous avez réussi à le faire », mais sert également de point d&amp;rsquo;entrée pour voir « comment vous l&amp;rsquo;écrivez » et « jusqu&amp;rsquo;à quel point vous comprenez ».&lt;/p>
&lt;hr>
&lt;h3 id="en-résumé">En résumé
&lt;/h3>&lt;p>Je pense que nous ne devrions pas accorder trop d&amp;rsquo;importance au fait de savoir si vous pouvez ou non faire FizzBuzz.&lt;/p>
&lt;p>Même si vous n&amp;rsquo;avez pas réussi à l&amp;rsquo;écrire, c&amp;rsquo;est peut-être simplement que « vous ne vous sentiez pas bien sur le moment », et souvent, vous y parviendrez si vous y réfléchissez attentivement plus tard.&lt;/p>
&lt;p>Ne vous précipitez pas, avançons lentement.&lt;/p>
&lt;p>Le code est écrit par des humains. En tant qu&amp;rsquo;humains, il nous arrive d&amp;rsquo;oublier des choses et d&amp;rsquo;être nerveux. En acceptant cela, je pense qu&amp;rsquo;il suffit de pouvoir avancer petit à petit.&lt;/p>
&lt;p>Alors, écrivons du code de manière détendue aujourd&amp;rsquo;hui aussi.&lt;/p></description></item></channel></rss>