73 votes

JSLint signale un caractère "dangling" inattendu dans un nom de variable préfixé par un trait de soulignement.

Je sais que certaines personnes considèrent que la présence d'un trait de soulignement en tête implique qu'une variable est "privée", que cette confidentialité est une fiction, et supposent que c'est la raison pour laquelle JSLint signale ces noms avec un message d'erreur.

J'utilise Google Analytics sur un site Web que je suis en train de construire. Je fais référence aux variables de GA, comme "_gaq".

J'essaie de faire en sorte que mon code JS soit 100% propre à JSLint (je ne suis pas religieux quant à mon style de codage, et je vais donc suivre les conseils de M. Crockford). Cela dit, je ne peux rien faire sur les noms de variables de Google... donc, je suppose que je ne peux pas être 100% "propre".

Je poste ici au cas où j'aurais mal compris le message, et que je puisse faire quelque chose pour me conformer aux pratiques de JSLint.

72voto

Zhami Points 4851

Ah, je m'en occupe... J'enveloppe les instructions qui utilisent les variables préfixées par un trait de soulignement avec des commandes JSLint pour désactiver, puis réactiver cette classe d'erreur :

/*jslint nomen: true*/
... statement(s) with _var ...
/*jslint nomen: false*/

51voto

scruffian Points 494

La meilleure façon de gérer cela est d'activer l'option "Tolerate dangling _ in identifiers" (nomen). Voir http://www.jslint.com/lint.html pour les détails...

15voto

JSLint est juste un outil de qualité de code. Le fait de ne pas réussir complètement ses tests ne signifie pas que votre code est mauvais ; cela signifie simplement que vous ne suivez pas toutes les conventions établies par son créateur. Bien que JSLint fasse de très bonnes suggestions, il n'est pas toujours possible de les réaliser toutes, surtout lorsqu'on utilise la bibliothèque de quelqu'un d'autre qui n'a pas été testée contre elle. Plutôt que d'encombrer votre code source de méta-commentaires dénués de sens, vous devriez vérifier votre code avec l'option "Disallow dangling _ in identifiers" désactivée, puisqu'il ne semble pas utile de l'utiliser avec votre code particulier.

8voto

Jaseem Points 705

J'utilise JSLInt avec node.js. Vous pouvez passer l'option --nomen pour contourner cette fonctionnalité.

jslint --nomen myfile.js

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X