Die Analyse von Lint-ähnlichen Tools kann auch von einem optimierenden Compiler durchgeführt werden, der darauf abzielt, schnelleren Code zu generieren., In seinem ursprünglichen Papier von 1978 ging Johnson auf dieses Problem ein und kam zu dem Schluss, dass „der allgemeine Begriff, zwei Programme zu haben, gut ist“, weil sie sich auf verschiedene Dinge konzentrierten, wodurch der Programmierer sich „auf einer Stufe des Programmierprozesses ausschließlich auf die Algorithmen konzentrieren konnte, Datenstrukturen und Korrektheit des Programms, und dann später mit Hilfe von Lint die wünschenswerten Eigenschaften von Universalität und Portabilität nachrüsten“.,

Obwohl sich moderne Compiler weiterentwickelt haben, um viele der historischen Funktionen von lint einzubeziehen, haben sich auch lint-ähnliche Tools entwickelt, um eine noch größere Vielfalt verdächtiger Konstrukte zu erkennen. Dazu gehören “ Warnungen vor Syntaxfehlern, Verwendung nicht deklarierter Variablen, Aufrufe veralteter Funktionen, Abstands-und Formatierungskonventionen, Missbrauch des Gültigkeitsbereichs, impliziter Fallthrough in switch-Anweisungen, fehlende Lizenzheader …gefährliche Sprachfunktionen“.

Lint-ähnliche Tools sind besonders nützlich für dynamisch typisierte Sprachen wie JavaScript und Python., Da die Compiler solcher Sprachen normalerweise nicht so viele und so strenge Regeln vor der Ausführung erzwingen, können Linter-Tools auch als einfache Debugger verwendet werden, um häufige Fehler (z. B. syntaktische Diskrepanzen) sowie schwer zu findende Fehler wie Heisenbugs zu finden (Aufmerksamkeit auf verdächtigen Code als „mögliche Fehler“lenken). Lint-ähnliche Tools führen im Allgemeinen eine statische Analyse des Quellcodes durch.

Lint-ähnliche Werkzeuge wurden auch für andere Aspekte der Sprache entwickelt, einschließlich Grammatik und Style Guides.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.