Pascal Precht

JSLint an deiner Seite


An dieser Stelle möchte Ich kurz auf JSLint hinweisen. JSLint ist ein Tool zum Verbessern der Code-Qualität von JavaScript-Programmen. Entwickelt wurde JSLint von Douglas Crockford, der JavaScript-Guru schlecht hin. Aber was macht JSLint so sonderbar? Ganz einfach. JSLint überprüft euren JavaScript-Code nach bestimmten Paradigmen und macht euch anschließend auf Dinge aufmerksam, die zu verbessern sind.

Das Gute an JSLint

Kurz gesagt, gibt es an JSLint nichts, was nicht gut ist. JSLint macht euren JavaScript-Code besser. Zu Anfang werdet Ihr wahrscheinlich feststellen, dass euer JavaScript-Code gar nicht mal sooo geil ist, wie ihr bis dahin gedacht habt. Da es in JavaScript Unmengen an Möglichkeiten gibt, bestimmte Dinge zu lösen, ist es nichts Ungewöhnliches, die Best-Practices nicht von vorn herein drauf zu haben. Wenn JSLint euch sagt, dass irgendetwas nicht mit eurem Code stimmt, nimmt es euch zu Herzen und lernt aus diesen, Ich nenne es mal, “Fehlern”.

Selbstverständlich ist man zu nichts in der Welt gezwungen. Also mal ganz abgesehen davon, dass ihr auch getrost auf die Hilfe von JSLint verzichten könnt, habt ihr die Möglichkeit JSLint euren Erwartungen anzupassen. Auf der Seite seht ihr viele Konfigurationsmöglichkeiten, die die Analyse von JSLint in Hinblick auf euren Code beeinflussen. So könnt ihr zum Beispiel angeben, dass JSLint den “use-strict”-Mode tolerieren soll/kann. Und wenn ihr aus philosophischen Gründen lieber die ++ und anstatt der += 1 und -= 1 Schreibweise verwendet, um während einer Iteration auf- und abzuzählen, lässt sich auch dies mit Leichtigkeit bewerkstelligen. Dazu muss man zum Beispiel nur den Haken bei “Tolerate ++ and –” setzen und schon ignoriert JSLint diese Fälle, beziehungsweise toleriert sie. Übersteht euer Code eine Analyse von JSLint fehlerfrei, könnt ihr sicher sein, dass euer Code konsistent ist und schon mal keine Tippfehler enthält.

JSLint und Vim sind ein Team

Ich weiß ja nicht wie’s euch geht – aber Ich liebe Vim! Vim hat schon einige Jahre auf den Buckel und erscheint im ersten Licht als einfacher Texteditor. Aber der Schein trügt! Vim ist unglaublich mächtig. Sei es allein die persönliche Konfiguration, welche man diesem Editor unterziehen kann oder die Erweiterung des Texteditors zu einer, im Produktivbereich nutzbaren, IDE. Für Vim-User ist es bestimmt keine großes Unterfangen – Ich habe mich tierisch gefreut, als Ich darauf gestoßen bin – aber für die, die Vim möglicherweise weniger gut kennen: Ja! Es gibt auch ein passendes Plugin für JSLint!

Ein JSLint-Plugin für Vim… Was soll das wohl bringen? Eigentlich liegt es klar auf der Hand. Für den Fall, dass ihr diesen Artikel lest, dadurch das erste Mal auf JSLint stoßt und wirklich vor habt, euren JavaScript-Code regelmäßig durch den Fleischwolf zu ziehen, werdet ihr sehr schnell feststellen, dass es recht nervig sein kann seinen JavaScript-Code aus der IDE in die Textarea zu kopieren. Wie einer meiner Lieblings-Geeks auch gern sagt:”Automatisiert – ist schön!”. Und genau das bewirkt das Plugin für Vim. Es ist so einfach zu installieren wie alle anderen Plugins für Vim. Eine Installationsbeschreibung findet ihr hier.

Nachdem ihr das Plugin installiert habt, brauch ihr nichts weiter tun als das Kommando “:JSLintUpdate” auszuführen. Vim prüft nun bei jeder Änderung die ihr in eurem grade zu bearbeitenden File durchführt (sofern dies ein .js-File ist), ob dieser JSLint übersteht. Vielmehr – JSLint wird direkt in Vim ausgeführt! Ihr erhaltet genau die gleichen Meldungen wie auf der Website; und nicht nur dass, Vim markiert alle Stellen in euren JavaScript-Code, an der JSLint gemeckert hat. Ist das nicht Klasse? Einfach mit dem Cursor über eine entsprechend markierte Stelle fahren und ihr erhaltet die Fehlermeldung in der Kommandozeile.

Ein bekanntes Problem

Leider kommt es bei einigen Installationen des Plugins zu einem Problem. Sobald das Plugin installiert ist, und ihr ein .js-File öffnet, dies aber noch keinen JavaScript-Code enthält, bricht das Plugin zusammen und wirft folgende Fehlermeldung: “Could not invoke JSLint!”. Leider kann Ich nicht genau sagen, wie es zu diesem Fehler kommt, da ich aus dem Code des Plugins nicht schlau wurde. Aber kein Problem, es gibt ja Google und Google ist auch unser Freund. Wenn man weiß, wie man etwas in die Suchleiste eingeben kann um etwas zu suchen (…). Ich habe also recherchiert und bin öfters auf Beiträge gestoßen, bei denen Leute das gleiche Problem hatten. Schlussendlich gibt es einen Workaround. Hier der Issue dazu. Damit dieser Workaround funktioniert, muss man allerdings Node installiert haben. Das sollte aber wohl auch kein Problem sein.