Was ist Linting?

Linting ist der Prozess, bei dem ein Programm ausgeführt wird, das den Code auf mögliche Fehler analysiert. Es handelt sich hierbei um eine statische Code-Analyse, die Programmierfehler, Bugs, stilistische Fehler und verdächtige Konstrukte aufdecken soll.

Der Begriff leitet sich von der Bezeichnung der unerwünschten Faser- und Flaumteile in der Schafwolle ab.

Die Analyse kann auch beim Kompilieren eines Programms durchgeführt werden. Viele Kompilierer heutzutage zielen darauf ab, optimierten und schnelleren Code zu erzeugen.  Obwohl moderne Kompilierer inzwischen viele der historischen Funktionen von Lint enthalten, haben sich die Lint-Werkzeuge weiterentwickelt. Zu den Analysen von Lint-Werkzeugen gehören:

  • Warnungen von Syntaxfehlern
  • Aufruf von deprecated-Funktionen
  • Abstands- und Formatierungskonventionen wie beispielsweise „no trailing spaces“
  • Fallthrough in Switch-Anweisungen
  • Verwendung nicht deklarierter Variablen

Insbesondere eignen sich Lint-Werkzeuge für dynamisch typisierte Programmiersprachen wie Python oder JavaScript, da diese i.d.R. keine strikten Regeln vor der Ausführung durchsetzen. Hier wird ein verdächtiger Code als potenzieller Fehler angesehen, um häufige Bugs in diesen Programmiersprachen zu finden.

Existierende Werkzeuge

Es existiert bereits eine große Auswahl an Linting-Tools. Diese Werkzeuge werden mittlerweile in IDEs mitintegriert, um bestimmte Code-Richtlinien durchzusetzen. Einige davon sind z.B.:

  • ESLint
  • PHPLint
  • JSLint
  • JHint
  • PyLint
  • CSSLint