Was ist "Flusen"?

1094

PHPLint , JSLint und ich sind kürzlich auf "Sie können Ihren JS- Code im Handumdrehen fusseln" gestoßen , als wir etwas über eine IDE gelesen haben .

Also, was ist das für ein Flusen , den jeder außer mir kennt?

Ashkan Kh. Nazary
quelle
6
Ich habe diesen Begriff erst gehört, seit Visual Studio Code zu einer Sache wurde. vorher war es nur "Intellisense" -ähnlich. Obwohl dieser Begriff aus dem Jahr 1978 aus Wikipedia stammt, scheint er mir erst seit kurzem beliebt zu sein.
v.oddou

Antworten:

1078

Beim Flusen wird ein Programm ausgeführt, das den Code auf mögliche Fehler analysiert.

Siehe Flusen auf Wikipedia:

lint war der Name, der ursprünglich einem bestimmten Programm gegeben wurde, das einige verdächtige und nicht portierbare Konstrukte (wahrscheinlich Fehler) im Quellcode der C-Sprache kennzeichnete. Der Begriff wird jetzt allgemein auf Tools angewendet, die verdächtige Verwendung in Software kennzeichnen, die in einer beliebigen Computersprache geschrieben ist.

Oded
quelle
140
Zitat aus Wikipedia - "Der Begriff wurde vom Namen der unerwünschten Faser- und Flusenstücke abgeleitet, die in Schafwolle gefunden wurden."
Tan9
17
@HasanBaidoon - Es werden nur Verstöße gegen eine Stilrichtlinie gemeldet, nicht unbedingt im Namen des Benutzers.
Oded
Wäre Stylecop ein Linter?
Adam Plocher
1
@Adam - normalerweise hat ein Linter auch die Möglichkeit, gefundene Probleme automatisch zu beheben.
Oded
@AdamPlocher Ja, das ist es. "StyleCop ist ein C # -Linter, der Stilrichtlinien durchsetzt." github.com/mcandre/linters
mbomb007
184

Lint war der Name eines Programms, das Ihren C-Code durchging und Probleme identifizierte, bevor Sie ihn kompilierten, verknüpften und ausführten. Es war ein statischer Prüfer, ähnlich wie FindBugs heute für Java.

Wie bei Google wurde "lint" zu einem Verb, das eine statische Überprüfung Ihres Quellcodes bedeutete.

Duffymo
quelle
122

Beim Flusen wird der Quellcode auf programmatische und stilistische Fehler überprüft. Dies ist am hilfreichsten, um einige häufige und ungewöhnliche Fehler zu identifizieren, die beim Codieren gemacht werden.

A Lintoder a Linterist ein Programm, das Flusen unterstützt (Überprüfung der Codequalität). Sie sind für die meisten Sprachen wie JavaScript, CSS, HTML, Python usw. verfügbar.

Einige der nützlichen Linters sind JSLint , CSSLint , JSHint , Pylint

VSri58
quelle
52

Abgesehen von dem, was andere erwähnt haben, möchte ich hinzufügen, dass Linting Ihren Quellcode durchläuft, um ihn zu finden

 -  formatting discrepancy 
 -  non-adherence to coding standards and conventions 
 -  pinpointing possible logical errors in your program

Durch Ausführen eines Lint-Programms über Ihren Quellcode wird sichergestellt, dass der Quellcode lesbar, lesbar, weniger verschmutzt und einfacher zu warten ist.

Mangu Singh Rajpurohit
quelle
27

lint ist ein Tool, mit dem der Quellcode mit verdächtigen und nicht strukturellen Elementen gekennzeichnet wird (dies kann zu Fehlern führen). Es ist zu Beginn ein statisches Code-Analyse-Tool in C. Jetzt wurde es der Oberbegriff für das Software-Analyse-Tool, das den verdächtigen Code kennzeichnet.

Marcus Thornton
quelle
20

Interpretierte Sprachen wie Python und JavaScript profitieren stark vom Flusen, da diese Sprachen keine Kompilierungsphase haben, um Fehler vor der Ausführung anzuzeigen.

Linters sind auch nützlich für die Code-Formatierung und / oder die Einhaltung sprachspezifischer Best Practices.

In letzter Zeit habe ich ESLint für JS / React verwendet und werde es gelegentlich mit einer Airbnb-Konfigurationsdatei verwenden.

JSON C11
quelle
3

Das Flusen ist ein Prozess eines Linter-Programms, der den Quellcode in einer bestimmten Programmiersprache analysiert und potenzielle Probleme wie Syntaxfehler, Abweichungen von einem vorgeschriebenen Codierungsstil oder die Verwendung von Konstrukten, die als unsicher bekannt sind, kennzeichnet.

Ein JavaScript-Linter würde beispielsweise die erste Verwendung von parseInt unten als unsicher kennzeichnen:

// without a radix argument - Unsafe
var count = parseInt(countString);

// with a radix paremeter specified - Safe
var count = parseInt(countString, 10);
RajeshK
quelle