Ich bin mit der Programmierung von C ++ und Java aufgewachsen, wo alles sicher und schön war. Compiler haben dafür gesorgt, dass ich in Schach gehalten werde, falls ich jemals abwandere. Natürlich haben alle im College ein bisschen Perl gemacht, aber ich habe nicht eingeatmet. Kinder in diesen Tagen sind alle über PHP im Backend und Javascript auf der Vorderseite. Beim Versuch, hip zu sein, mache ich dasselbe (für die Webentwicklung). Das Problem, auf das ich laufend stoße, ist, dass ich versehentlich ein Dollarzeichen ($) vor reguläre Variablen in Javascript setze und natürlich niemand etwas sagt, da dies die legale Syntax ist, die häufig für jQuery-Objekte verwendet wird.
Gibt es irgendwelche Debugging-Tools oder Entwickler-Tricks, um diese Dollarzeichen-Verwirrung aufzufangen? Machen Sie oft den gleichen Fehler und wie gehen Sie emotional damit um? Chrome-Entwickler-Tools sehen nicht immer, dass dies ein Javascript-Fehler ist. Ich benutze PhpStorm und Emacs für die Entwicklung, aber diese fangen meine Dummheit nicht auf, obwohl ich vermute, dass Emacs es tut, aber mich aus Trotz nicht darüber zu informieren.
Wenn Sie denken, dass diese Frage lächerlich ist, denke ich, dass Sie Recht haben. Aber wir leben in einer Welt, in der eine Variable ein Dollarzeichen vor sich hat. In einer solchen Welt ist nichts lächerlich.
Antworten:
Es ist nichts Falsches an der Verwendung
$
in Variablen. Ich würde es nicht absichtlich für jede Variable tun, aber es ist immer noch eine gültige Syntax. jQuery ist eines der Beispiele, in denen$
als Variablenname verwendet wird. Das ist auch der Grund, warum "Chrome-Entwickler-Tools sehen, dass dies nicht immer ein Javascript-Fehler ist" , weil es überhaupt keinen Fehler gibt.Wenn Sie Angst haben, Code wie folgt zu schreiben:
Dann müssen Sie einen Style Checker wie jsLint , jsHint oder Google Closure Linter verwenden . Welcher von denen? Es liegt an Ihnen, eine Wahl zu treffen. Um Ihnen dabei zu helfen, finden Sie hier einige Hinweise:
Stil
Google Closure Linter folgt dem Google JavaScript Style Guide , der bekanntermaßen geschickt erstellt wurde. Es ist eine gute Idee, einen bekannten Stil für JavaScript oder eine der sechs anderen Sprachen zu verwenden : Wenn Sie Ihren Code freigeben oder einen neuen Entwickler einstellen, sind diese wahrscheinlich bereits mit diesem Stil vertraut.
Viele Entwickler sind auch mit dem Stil von Douglas Crockford vertraut. Dieser Stil wird in JavaScript ausführlich erklärt : The Good Parts , ein Buch, das sich für jeden lohnt, der mit JavaScript arbeitet.
Was jsHint angeht, kann ich nicht wirklich feststellen, welche Konventionen verwendet werden, und die Website selbst scheint es zu vermeiden, über dieses Thema zu sprechen. Vielleicht habe ich etwas verpasst.
Unterstützung durch IDEs
Sowohl jsLint als auch jsHint werden von PhpStorm unterstützt. Dies ist auch bei Google Closure Linter der Fall .
Umgebung
Google Closure Linter gehört zu einer Reihe von Tools . Wenn Sie bereits Google Closure Compiler oder Google Closure Library verwenden , sollten Sie Closure Linter vor anderen Tools auswählen.
Strenge
Es ist bekannt, dass jsLint streng ist. jsHint ist freizügiger, was nicht immer gut ist. Einer der Gründe, jsLint für jsHint zu forken, wird beispielsweise in einem Artikel erläutert, der fehlerhaften Code zeigt, der einen Fehler in jsLint, aber nicht in jsHint erzeugt:
Der Code ist schlecht, weil es so aussieht, als ob JavaScript einen Blockbereich hat, während dies nicht der Fall ist. Siehe JavaScript: Die guten Teile, S. 32. 102, Anhang A: Schreckliche Teile, Geltungsbereich. Mit anderen Worten, wenn wir den Code betrachten, ohne die Sprache zu kennen, ist zu erwarten
name
, dass er außerhalb der Schleife nicht sichtbar ist, während er sichtbar bleibt.Was Google Closure Linter angeht, glaube ich, dass es irgendwo zwischen jsLint und jsHint liegt, aber ich habe nicht genug Informationen, um das zu unterstützen.
Fazit
Ich würde jsHint vermeiden: Es ist zu nachgiebig, was bedeutet, dass es keine potenziellen Fehler findet, die die anderen Linters erkennen würden. Der verwendete Styleguide ist schwer zu finden.
Bei jsLint und Google Closure Linter ist die Wahl nicht offensichtlich. Beide sind von Experten verfasst, beide folgen strengen, gut beschriebenen Styleguides, die bereits von Tausenden von Entwicklern befolgt wurden. Verwenden Sie beide für einige Zeit, und wählen Sie dann eine aus, die für Sie praktischer ist.
quelle