javascript - validator - jslint npm




Was nützt JSLint, wenn jQuery die Validierung nicht besteht (6)

Wenn Sie jQuery selbst nicht aktiv entwickeln, warum sollten Sie JSLint sogar überhaupt ausführen? Wenn es funktioniert, funktioniert es und Sie müssen sich keine Sorgen machen.

Also habe ich verschiedene Methoden untersucht, um mein JavaScript aufzuräumen und zu testen. Ich dachte mir, genau wie jede andere Sprache, um besser zu werden, ist es, guten Code zu lesen. jQuery ist sehr beliebt, daher muss es ein gewisses Maß an guter Kodierung haben.

Also warum, wenn ich jQuery durch JSLints Validierung laufen lasse, gibt es mir diese Nachricht:

Error:

Problem bei Zeile 18 Zeichen 5: Erwartete einen Bezeichner und sah stattdessen 'undefiniert' (ein reserviertes Wort).

nicht definiert,

Problem bei Zeile 24 Zeichen 27: Fehlendes Semikolon.

jQuery = window.jQuery = Fenster. $ = Funktion (Selektor, Kontext) {

Problem bei Zeile 24 Zeichen 28: Erwartete eine Kennung und stattdessen '='.

jQuery = window.jQuery = Fenster. $ = Funktion (Selektor, Kontext) {

Problem bei Zeile 24 Zeichen 28: Stoppen, nicht fortfahren. (0% gescannt) .

Dies wurde mit JSLint und jquery-1.3.1.js gemacht


JSLint hilft Ihnen, Probleme zu finden, es ist kein Test der Gültigkeit oder ein Ersatz für das Denken. jQuery ist ziemlich fortgeschritten, wie js geht, was ein solches Ergebnis verständlich macht. Ich meine, die ersten paar Zeilen sind Speed-Hacks, kein Wunder, dass der starrste js-Parser ein paar Fehler hat.

In jedem Fall ist die Annahme, dass populärer Code vollkommen korrekt oder sogar "gut" ist, fehlerhaft. JQuery-Code ist gut, und Sie können viel davon lernen, es zu lesen. Du solltest deine Sachen immer noch durch JSLint laufen lassen, nur weil es gut ist, eine andere Meinung zu hören, was du geschrieben hast.

Aus der Beschreibung von JSLint:

JSLint nimmt eine JavaScript-Quelle und scannt sie. Wenn es ein Problem findet, gibt es eine Nachricht zurück, die das Problem und einen ungefähren Ort innerhalb der Quelle beschreibt. Das Problem ist nicht notwendigerweise ein Syntaxfehler, obwohl es oft ist. JSLint betrachtet einige Stilkonventionen sowie strukturelle Probleme. Es beweist nicht, dass Ihr Programm korrekt ist. Es bietet nur eine weitere Reihe von Augen, um Probleme zu erkennen.

JSLint definiert eine professionelle Teilmenge von JavaScript, eine strengere Sprache als die in der Edition 3 der ECMAScript-Sprachspezifikation definierte. Die Teilmenge bezieht sich auf Empfehlungen in Code Conventions für die JavaScript-Programmiersprache.


Der Zweck von JsLint ist in den FAQ [1] klar angegeben:

"JSLint definiert eine professionelle Teilmenge von JavaScript, eine strengere Sprache als die in der Edition 3 der ECMAScript-Sprachspezifikation definierte. Die Teilmenge bezieht sich auf Empfehlungen in Code Conventions für die JavaScript-Programmiersprache."

Nun, wenn Sie verwirrt sind: ECMA3 ist bereits eine Teilmenge der JS-Fähigkeiten, die von einem der heutigen JS-Interpreter zur Verfügung gestellt werden (siehe [2] für einen Überblick über die Beziehung zwischen JavasScript- und ECMAScript-Versionen)

Zur Beantwortung der Frage "Was ist JSlint gut?": * Verwenden Sie JsLint, um zu überprüfen, ob Sie eine "sichere" Teilmenge von Javascript verwenden, die JS-Implementierungen wahrscheinlich nicht durchbrechen kann. * Verwenden Sie Jslint, um zu überprüfen, ob Sie den crockford-Code-Konventionen gefolgt sind. [4]


"jQuery ist sehr beliebt, daher muss es einen gewissen Grad an guter Kodierung haben."

Man möchte hoffen, dass dies bei jQuery der Fall ist, aber leider stimmt es nicht wirklich. jQuery ist nützlich und beliebt, aber es ist keine gut geschriebene JavaScript-Bibliothek. David Mark hat kürzlich eine vernichtende Kritik an jQuery in comp.lang.javascript geschrieben, die eine große Anzahl von Beispielen des schlechten Codes in jQuery untersucht:

http://groups.google.com/group/comp.lang.javascript/msg/37cb11852d7ca75c?hl=de&


Wenn Sie Daisy-Chain-Methoden wie jQuery möchten, können Sie YUI3 schätzen.


JQuery ist natürlich nicht das Beste auf der Welt. Das ist schon klar, wenn man sich die Notation anschaut. Die Dollar-Klammer-Kombination ist wirklich schlecht für Ihre Augen. Die Programmierung sollte klar und einfach sein. JQuery ist weit davon entfernt. Dieser Grund ist genug für mich, um es nicht zu benutzen. Dass es nicht richtig geschrieben ist, überrascht mich nicht und unterstreicht nur meine Gedanken zu dieser JavaScript-Bibliothek.





jquery