Ich weiß, dass einige Leute das Vorhandensein eines führenden Unterstrichs als Hinweis darauf betrachten, dass eine Variable "privat" ist, dass diese Privatsphäre eine Fiktion ist, und dass JSLint aus diesem Grund solche Namen mit einer Fehlermeldung meldet.
Ich verwende Google Analytics auf einer Website, die ich erstelle. Ich beziehe mich auf GAs Variablen wie "_gaq".
Ich versuche, meinen JS-Code zu 100% JSLint-sauber zu machen (ich bin nicht religiös in Bezug auf meinen Codierungsstil und werde mich daher an Mr. Crockfords Anwalt wenden). Trotzdem kann ich nichts gegen die Variablennamen von Google unternehmen. Ich glaube, ich kann nicht 100% "sauber" werden.
Ich poste hier, falls ich die Nachricht falsch verstanden habe, und kann etwas tun, um die JSLint-Praktiken einzuhalten.
quelle
Antworten:
Ah, ich habe das erledigt ... Ich verpacke die Anweisungen, die die Variablen mit dem Unterstrich als Präfix verwenden, mit JSLint-Befehlen, um sie zu deaktivieren, und aktiviere dann diese Fehlerklasse wieder:
/*jslint nomen: true*/ ... statement(s) with _var ... /*jslint nomen: false*/
quelle
jslint --nomen <filename>
stattdessen.Der beste Weg, dies zu handhaben, besteht darin, die Option "Dangling _ in Bezeichnern tolerieren" (Nomen) zu aktivieren. Weitere Informationen finden Sie unter http://www.jslint.com/lint.html ...
quelle
JSLint ist nur ein Tool zur Codequalität. Wenn Sie die Tests nicht vollständig bestehen, bedeutet dies nicht, dass Ihr Code schlecht ist. es bedeutet einfach, dass Sie nicht alle Konventionen befolgen, die von seinem Schöpfer festgelegt wurden. Obwohl JSLint sehr gute Vorschläge macht, ist es nicht immer möglich, alle zu erfüllen, insbesondere wenn die Bibliothek eines anderen verwendet wird, die nicht dagegen getestet wurde. Anstatt Ihren Quellcode mit bedeutungslosen Metakommentaren zu verunreinigen, sollten Sie Ihren Code mit deaktivierter Option "Dangling _ in Bezeichnern nicht zulassen" überprüfen, da die Verwendung mit Ihrem bestimmten Code nicht sinnvoll erscheint.
quelle
Ich benutze JSLInt mit node.js. Sie können die Flagge --nomen übergeben, um diese Funktion zu umgehen
quelle