Was ist ein Linter? Kurz gesagt, ein Linter ist ein Tool, mit dem Sie Ihren Code verbessern können. Das Konzept von Linter ist nicht exklusiv für JavaScript. Trotzdem würde ich sagen, dass die Mehrheit der Leute, die versuchen, etwas über Linter zu lernen, an denen interessiert ist, die auf JavaScript (oder allgemeiner auf dynamisch typisierte Sprachen) abzielen.)
Im heutigen Beitrag beantworten wir die Titelfrage und vieles mehr. Wir beginnen mit der Definition des Begriffs “ Linter.,“Sie werden verstehen, was dieses Ding ist und wie es entstanden ist. Dann sprechen wir über die Vorteile von Lintern und sprechen über die verschiedenen Arten von Schecks, die sie anbieten.
Abschließend zeigen wir Ihnen einige Beispiele von Lintern, die Ihnen zur Verfügung stehen, geben einige praktische Tipps zum Einstieg und schließen einige abschließende Überlegungen ab.
Los geht ‚ s.
Was Ist ein Linter? Einen Kurzen Überblick
beginnen wir mit der Definition, was ein linter ist. Wie Sie in der Einleitung gelesen haben, ist ein Linter ein Tool, mit dem Sie Ihren Code verbessern können. Aber auf welche Weise macht es das?, Die Antwort lautet: Indem Sie Ihren Quellcode analysieren und nach Problemen suchen.
Der Begriff Linter stammt von einem Tool namens „lint“, das C-Quellcode analysiert. Der Informatiker Stephen C. Johnson entwickelte dieses Dienstprogramm 1978, als er bei Bell Labs arbeitete.
Sowohl das ursprüngliche Lint-Tool als auch frühere ähnliche Dienstprogramme hatten das Ziel, den Quellcode zu analysieren, um Compiler-Optimierungen zu erstellen. Im Laufe der Zeit fügten Lint-ähnliche Tools viele andere Arten von Überprüfungen und Überprüfungen hinzu.,
Wie wir jedoch während der Einführung erwähnt haben, sind Linter nicht auf kompilierte Sprachen beschränkt. Im Gegenteil: Wir könnten sagen, dass Linter für interpretierte Sprachen viel wertvoller sind, da es während der Entwicklungszeit keinen Compiler gibt, der Fehler erkennt.
Vorteile von Linting
Sie haben gerade gelernt, die definition von linter. Sie wissen jetzt auch, wann und von wem diese Art von Werkzeug erfunden wurde. Sie haben wahrscheinlich zumindest eine allgemeine Vorstellung davon, was ein Linter für Ihren Code tun kann., Aber in praktischer Hinsicht, was sind die Vorteile, die diese Art von Werkzeug bieten kann? Hier sind einige:
- Weniger Fehler in der Produktion
- Lesbarer, wartbarer und konsistenter Code
- Weniger Diskussionen über Codestil und ästhetische Auswahl bei Codeüberprüfungen
- Objektive Messung der Codequalität
- Sicherer und performanter Code
Der nächste Abschnitt behandelt einige der Arten von Überprüfungen, die Linter bereitstellen. Nachdem Sie es gelesen haben, werden Sie verstehen, wie Linter die oben genannten Vorteile bieten.,
Arten von Prüfungen Linter Bieten
Wie Sie gerade gelesen haben, analysierte das ursprüngliche Lint-Tool Code, um Optimierungen für Compiler zu ermöglichen, aber im Laufe der Zeit wurden fortgeschrittenere und vollständigere Tools veröffentlicht. Heutzutage haben wir unzählige verschiedene Liner, die viele Arten von Kontrollen bieten. Lassen Sie uns schnell einige von ihnen durchgehen.
Syntaxfehler
Die grundlegendste und wichtigste Art von Überprüfungen, die ein Linter durchführen kann, sind Syntaxfehlerüberprüfungen, wenn es um JavaScript und andere interpretierte Sprachen geht., Entwickler sollten nicht einmal Code an die Hauptzeile senden, ohne Syntaxüberprüfungen zu bestehen.
Eine Möglichkeit, dies zu erreichen, besteht darin, Pre-Commit-Hooks zu verwenden, die verhindern, dass Benutzer ihren Code pushen, wenn die Linter-Überprüfung anzeigt, dass Probleme mit dem Code vorliegen.
Einhaltung von Code-Standards
Eine weitere wichtige Art der Überprüfung, die Linters bietet, ist die Einhaltung von Codierungsstandards. Manche Leute mögen dies als rein ästhetisches Anliegen abtun, aber sie würden sich irren., Ein einziger konsistenter Codierungsstil ist vorteilhaft, um die kognitive Belastung durch Lesen, Verstehen und Beibehalten von Code zu verringern. Eine Codebasis mit einem konsistenten Codestil ist leichter zu verstehen, und die Entwickler, die sie verwenden, werden weniger Fehler einführen.
Deshalb gibt es Linter, die sich auf die Überprüfung von Codebasen auf die Einhaltung von Codestilen spezialisiert haben. Einige Tools sind eigensinnig, dh sie verfügen über einen vordefinierten Satz von Regeln und Konventionen, die nicht geändert werden können., Auf der anderen Seite gibt es Tools, die hochgradig konfigurierbar sein können, sodass der Benutzer das Tool an seine bevorzugten Codierungsstile anpassen kann.
Mögliche Probleme (alias Code-Gerüche)
Code-Gerüche sind Anzeichen dafür, dass etwas mit Ihrem Code nicht stimmt. Es ist erstaunlich nützlich, ein Tool zu haben, um diese Zeichen automatisch zu erkennen, damit Sie sie bei Bedarf weiter untersuchen können.
Zum Beispiel betrachten viele Leute—einschließlich mir-lange Funktionen als Code-Geruch. Sie können also Ihren Linter so konfigurieren, dass er Funktionen erkennt, die länger als eine bestimmte Anzahl von Zeilen sind.,
Ein weiterer häufig zitierter Code-Geruch ist Code, der zu komplex ist. Aber wir sprechen nicht subjektiv über Komplexität, sondern sehr objektiv. Zyklomatische Komplexität ist eine nützliche Codemetrik, die die Anzahl möglicher Ausführungspfade innerhalb einer Funktion darstellt. Linter können die zyklomatische Komplexität Ihrer Funktionen berechnen und solche kennzeichnen, die höher als ein bestimmter Schwellenwert sind.
Sicherheitsprüfungen
Zuletzt haben wir Sicherheit, die ohne Zweifel die kritischste Facette einer modernen Anwendung ist, insbesondere einer Web-App., Machen Sie es falsch, und die Folgen können katastrophal sein, nicht nur in Bezug auf Geld und Ruf, sondern auch rechtliche (denken Sie an die DSGVO und ähnliche Vorschriften.)
Glücklicherweise ist dies ein weiterer Bereich, in dem Linter hilfreich sein können, da es Tools gibt, die wichtige Sicherheitsprüfungen bieten.
Statische Analyse verstehen
Wir haben erklärt, was Linter sind und warum sie nützlich sind. Außerdem haben wir die wichtigsten Arten von Lintern abgedeckt. Sie sind jetzt bereit, einige Beispiele für Linting-Tools für eine Vielzahl von Anwendungen und Zielprogrammiersprachen kennenzulernen.,
Bevor wir dort ankommen, nehmen wir jedoch einen kurzen Exkurs, um über statische Analysen zu sprechen, da dieser Begriff im nächsten Abschnitt erscheint und wir ihn noch nicht definiert haben.
Also, was ist statische Analyse? Sie können sich statische Analysen als Pre-Run-Debug vorstellen. Statische Analyse besteht aus der Verwendung von Tools, die Ihren Quellcode auf der Suche nach Fehlern, mangelnder Einhaltung von Regeln oder Konventionen oder anderen potenziellen Problemen analysieren.
Der nächste Abschnitt zeigt Beispiele von Lintern, die nach der Art der von ihnen durchgeführten Überprüfung kategorisiert sind., Einträge, die unter statische Analyse kategorisiert sind, beziehen sich hauptsächlich auf die ersten und dritten Lintertypen, die im obigen Abschnitt aufgeführt sind.
Beispiele für Linter
Lassen Sie uns nun kurz einige Beispiele für Linter erwähnen. Wir zeigen Beispiele für verschiedene Programmiersprachen, kategorisiert nach der Art der Überprüfung, die sie bieten. Denken Sie daran, dass einige Tools möglicherweise mehr als eine Art von Überprüfung anbieten, weshalb einige Tools in mehr als einer Kategorie angezeigt werden.,>
Linters für Sicherheit
- Gosec für Go
- Bandit für Python
- LGTM für mehrere Sprachen, einschließlich JavaScript, Python und C#
Linters für Codierungskonventionen / Codierungsformatierung
- Hübscher für JavaScript
- Rubocop for Ruby
- StyleCop for C#
Linters in JavaScript: How to Get Started
Bevor wir den Artikel abschließen, möchten wir Ihnen eine kurze, aber praktische Anleitung zum Einstieg in das Linting in JavaScript geben., Da wir über JavaScript sprechen, ist es keine Überraschung, dass Sie aus vielen Tools auswählen können. Da wir einen auswählen müssen, gehen wir mit ESLint.
Installieren von ESLint
Als erstes: Installieren wir den Linter. ESLint wird über npm installiert, was bedeutet, dass Sie einen Knoten haben müssen.js installiert. Wenn Sie es noch nicht haben, laden Sie es herunter und installieren Sie es, damit wir fortfahren können.
Mit Knoten.js installiert, wir sind bereit, ESLint über npm zu installieren., the following command:
1
|
npm install eslint –global
|
However, this isn’t the approach recommended in their documentation., Stattdessen sollten Sie ESLint wahrscheinlich pro Projekt installieren.,ory for your project:
1
|
mkdir eslint-sample-app
|
Then, cd into the directory and run the command below to create a package.,json-Datei (es wird unterwegs benötigt.)
1
|
npm init
|
1
|
npx eslint –init
|
1
|
npx eslint path-to-your-file.,js
|
1
2
3
4
5
6
|
F:\demos\eslint-demo\greeter.,js
2: 3 Fehler Fehlender JSDoc-Kommentar require-jsdoc
3: 1 Fehler Diese Zeile hat eine Länge von 86. Maximal erlaubt ist 80 max-len
10: 4 Fehler Unerwartet ‚this‘ no-invalid-this
✖ 3 Probleme (3 Fehler, 0 Warnungen)
|