Bon je ne pensais pas insister mais si tu y tiens, je vais répondre à tes diverses objections
Citation:
si le besoin de traiter le problème du "fall through" était si fondamental, il y aurait plus de doc à ce sujet
Il y en a pléthore, et ce dans tous les langages concernés. Tu n'as pas dû chercher bien loin. Pour citer la page Wikipédia de l'instruction switch: https://en.wikipedia.org/wiki/Switch...nt#Fallthrough
Citation:
Envoyé par https://en.wikipedia.org/wiki/Switch_statement#Fallthrough
In practice, fallthrough is usually prevented with a break keyword at the end of the matching body, which exits execution of the switch block, but this can cause bugs due to unintentional fallthrough if the programmer forgets to insert the break statement. This is thus seen by many as a language wart, and warned against in some lint tools.
Et un extrait du livre JavaScript : The Good Parts par Crockford (qui est un des livres les plus célèbres sur la qualité de code JavaScript, rappelons-le)
Citation:
Someone wrote to me once suggesting that JSLint should give a warning when a case falls through into another case. He pointed out that this is a very common source of errors, and it is a difficult error to see in the code. I answered that that was all true, but that the benefit of compactness obtained by falling through more than compensated for the chance of error.The next day, he reported that there was an error in JSLint. It was misidentifying an error. I investigated, and it turned out that I had a case that was falling through. In that moment, I achieved enlightenment. I no longer use intentional fall throughs. That discipline makes it much easier to find the unintentional fall throughs.
Citation:
le swicth est une instruction javascript très utilisée (tout autant en php), et à ce titre on se doit de la traiter complètement dans sa globalité et dans un contexte général
Il y a une différence entre le fait de parler du fall-through et le fait de le mettre en application dans un exercice. Un avertissement du style "Attention, n'oubliez pas l'instruction break sinon le code du case suivant sera exécuté" donne la même quantité d'informations, mais l'intention n'est pas du tout la même. En interdisant les fall through, personne n'est "amputé" de quoi que ce soit car une instruction switch peut toujours être facilement réécrite pour se débarrasser d'un fall-through. Si tu penses le contraire, donne-moi un exemple.
Citation:
notre doc de référence est MDN, pas ESLINT
Cela n'a rien à voir. MDN est une référence documentaire exhaustive, ESLint est un outil de qualité de code. MDN documente de nombreuses fonctions dépréciées ou propriétaires, ce n'est pas pour autant qu'on va se permettre de les utiliser.
Citation:
Les conseils de programmation doivent arriver après la connaissance du langage, non pas la précéder
Je ne suis pas du tout d'accord sur ce point. Ces deux aspects de l'apprentissage ont toujours cohabité. De tous les développeurs JS existants aujourd'hui, combien peuvent prétendre connaître ne serait-ce que la moitié de la spécification du langage ? Est-ce que tu as appris toutes les règles d'ASI avant de mettre un point virgule à ta première ligne de JS ? Aussi, poser des bonnes pratiques n'a rien à voir avec le fait d'enseigner un framework, ne mélange pas tout.
Citation:
Par ailleurs si on suit ta logique, on devra bientôt re modifier ou supprimer d'autres exercices en fonctions des recommandations des prochaines versions d'ESLINT ? Adieu l'intérêt général.
Pour les best practices en tout cas, oui bien sûr. On est sur un forum de développeurs professionnels, et la qualité de code doit être un sujet essentiel. Que ce soit ESLint ou un autre linter, ça me paraît normal et nécessaire de passer au linter les codes que l'on poste sur Developpez. Surtout s'il s'agit de former d'autres futurs professionnels, c'est totalement dans l'intérêt général. Même chose pour les parties dépréciées du langage. Ce n'est pas pour rien qu'on est en train de mettre à jour la FAQ JavaScript de Developpez en supprimant/modifiant toutes les vieilles entrées bourrées d'éléments dépréciés.