Super Go Linters
Eine kuratierte Liste von Awesome Go Linters.
Gesponsert von Golangci: SaaS -Service zum Ausführen von Lintern auf Github Pull -Anfragen. Kostenlos für Open Source.

Inhalt
- Wolkenlinter
- Fokussiert
- Allgemeiner Zweck
- Linter
- Codeformatierung
- Codekomplexität
- Stil und Muster überprüfen
- Käfer
- Unbenutzter Code
- Leistung
- Berichte
- Miser
- Liner -Helferwerkzeuge
Wolkenlinter
Fokussiert
- GOLANGCI - Open Source SaaS -Dienst zum Ausführen von Lintern auf Github Pull -Anfragen. Kostenlos für Open Source.
- Golint Online - Lints Online Go Source -Dateien auf Github, Bitbucket und Google Project Hosting mit dem Golint -Paket.
- Gopherci - Gopherci hilft Ihnen, hochwertige GO -Projekte aufrechtzuerhalten, indem Sie jede Github -Pull -Anfrage für rückwärtskompatible Änderungen und eine Reihe anderer Tests überprüfen.
- Go Report Card - Go Repo Report Card.
Allgemeiner Zweck
- Codeclimate - Die offene und erweiterbare statische Analyseplattform.
- Codefaktor - Automatisierte Codeanalyse für Repos auf GitHub oder Bitbucket.
- Houndci - Code -Überprüfungs -Tool für GitHub Pull -Anforderungen
- QuantifiedCode - automatisierte Code -Überprüfung & Reparatur
- Scrutinizer - Ein Eigentümer -Code -Qualitätsprüfer, der in GitHub integriert werden kann
- SIDECI - Ein automatisiertes Tool zur Überprüfung des Codes. Verbesserung der Produktivität der Entwickler.
Linter
Codeformatierung
- DEDUPIMPORT - Beheben Sie doppelte Importe mit demselben Importpfad, aber unterschiedlicher Importnamen.
- GOFMT - GOFMT -Formate Go -Programme. Muss für jedes Projekt haben. Vergessen Sie nicht, die Flagge zu verwenden.
- Gofumpt - Das Tool ist eine modifizierte Gabel von gofMt, die ein strengeres Format als gofmt erzwingt und gleichzeitig kompatibel ist.
- Goimports - Goimports macht alles, was Gofmt tut. Zusätzlich überprüft es nicht verwendete Importe.
- Uneingeschränkt - Berichtscode, der unnötig eingerichtet ist
Codekomplexität
- ABCGO - ABC -Metriken für Go -Quellcode.
- Tiefe - Zählen Sie die maximalen Funktionen von Go -Funktionen. Es ist hilfreich zu sehen, ob eine Funktion für Lesbarkeitszwecke in mehrere kleinere Funktionen aufgeteilt werden muss.
- Funlen - Linter, der über lange Funktionen überprüft. Es kann sowohl die Anzahl der Zeilen als auch die Anzahl der Aussagen überprüfen.
- Gocyclo - berechnet und überprüft die zyklomatische Komplexität von Funktionen.
- Nakedret - Nakedret ist ein statisches Analyse -Tool, um nackte Renditen in Funktionen zu finden, die größer als eine bestimmte Funktionslänge sind.
- Schiene - Es findet Funktionen, die zu lang sind oder zu viele Parameter oder Ergebnisse haben.
Stil und Muster überprüfen
- Dogsled - Findet Aufgaben/Erklärungen mit zu vielen Leerzeichen.
- Dupl - Tool für die Erkennung von Codeklone.
- Go -Checkstyle - Checkstyle ist ein Stilprüfwerkzeug wie Java Checkstyle. Dieses Tool inspiriert von Java Checkstyle, Golint. Der Stil bezog sich auf einige Punkte in Go Code Review -Kommentaren.
- C-Cleanarch-Der Cleanarch wurde erstellt, um saubere Architekturregeln zu validieren, wie die Abhängigkeitsregel und die Interaktion zwischen Paketen in Ihren GO-Projekten.
- GO -konsistent - Quellcode -Analysator, mit dem Sie Ihre GO -Programme konsistenter gestalten können.
- Go -Namecheck - Quellcode -Analysator, mit dem Sie in Ihrem Projekt variable/Feld -Benennungskonventionen aufrechterhalten können.
- Go-Printf-Func-Name-Überprüft, ob Printf-ähnliche Funktionen am Ende mit
f benannt werden. - Go-Ruleguard-Definieren und rennen Sie musterbasierte benutzerdefinierte Lining-Regeln.
- GOChecknoinits - Finden Sie Init -Funktionen, um Nebenwirkungen im Code zu reduzieren.
- GOChecknoglobals - Finden Sie globale VARs, um Nebenwirkungen im Code zu reduzieren.
- GoConst - Finden Sie in Go -wiederholten Zeichenfolgen, die durch eine Konstante ersetzt werden konnten.
- GOLINT - Golint ist ein Schnursinter für Go -Quellcode.
- GoSimple - Gosimple ist ein Linter für Go -Quellcode, der sich auf die Vereinfachung des Codes spezialisiert hat.
- Impi - Überprüfen Sie die Gruppierung und Bestellung von Importen.
- interfacer - linter, der schmalere Schnittstellentypen vorschlägt.
- LLL - Linienlänge Linter, verwendet, um die Zeilenlänge in Dateien durchzusetzen.
- Misserspell - findet häufig falsch geschriebene englische Wörter gefunden
- NofuncFlags - Unzulässigen Booleschen Params zu Funktionen (Flags).
- Preadoklared - Suchen Sie Code, den die integrierten Kennungen von Shadows Go (z. B.
append , copy , int ). - Revive - ~ 6x schneller, strenger, konfigurierbar, erweiterbar und schöner Drop -In -Ersatz für Golint
- Unkontrollieren - Entfernen Sie unnötige Typkonvertierungen von Go Source.
- Usexports - Finden Sie in Go exportierten Variablen, die entzogen werden könnten.
- Whitespace - Überprüfungen auf unnötige Neulinen zu Beginn und Ende der Funktionen
Käfer
- APICOMPAT - Überprüft die jüngsten Änderungen nach einem GO -Projekt auf rückwärts inkompatible Änderungen.
- Badtime - Badtime ist ein Golang -Linter, der eine unangemessene Verwendung der Zeit erkennt.
- Bodyclose - Überprüft, ob die HTTP -Reaktionsbehörde geschlossen ist und eine Wiederverwendung der TCP -Verbindung nicht blockiert ist
- DAUNECK - DURKECK ist ein sehr einfacher Linter, der potenzielle Fehler mit der Zeit erkennt.
- Enumcase - Enumcase prüft jede Schalteranweisung über alle konstanten Werte des Typs.
- Enumlinter - Enum -Verlubsteil für auflistete Typen in Go.
- ERRCECK - Errcheck ist ein Programm zur Überprüfung auf nicht überprüfte Fehler in GO -Programmen.
- Gas - Inspiziert den Quellcode auf Sicherheitsprobleme, indem Sie das GO AST scannen.
- Go Vet - Tierarzt untersucht Go Quellcode und meldet verdächtige Konstrukte, z. B. Printf -Anrufe, deren Argumente nicht mit der Formatzeichenfolge übereinstimmen. Kann das Schatten von Variablen überprüfen, muss aber explizit aktiviert werden.
- Gosumcheck - Alle möglichen Fälle von Typ -Switch werden behandelt.
- Go-Sumtype-Alle möglichen Fälle von Typ-Switch werden behandelt.
- Mulint - Go Lint, der rekursive Schlösser erkennt, was zu toten Schlössern führen kann.
- SAFESQL - Statische Analysewerkzeug für Golang, das vor SQL -Injektionen schützt.
- Scopelint - Scopelint -Schecks für nicht abgelegene Variablen in GO -Programmen.
- SQLROWS - Überprüft, ob SQL.Rows geschlossen werden.
- STATICCECK - STATICcheck ist
go vet auf Steroide und wendet eine Menge statischer Analyseprüfungen an, an die Sie möglicherweise aus Tools wie Resharper für C#verwendet werden.
Unbenutzter Code
- Deadcode - Findet nicht verwendeten Code.
- Ineffsign - Erkennen Sie, wann Zuweisungen zu vorhandenen Variablen nicht verwendet werden.
- StructCheck - Finden Sie ungenutzte globale Variablen und Konstanten.
- PEPARAM - Melden Sie nicht verwendete Funktionsparameter.
- Unbenutzte - nicht verwendete Schecks gehen Code für nicht verwendete Konstanten, Variablen, Funktionen und Typen.
- VARCHECK - Finden Sie ungenutzte globale Variablen und Konstanten.
Leistung
- Aligncheck - Warnen Sie vor nicht optimal ausgerichteten Strukturen.
- Copyfighter - Analyse GO -Code- und Berichtefunktionen, die nach Wert große Strukturen übergeben.
- Bösartig - Werkzeug zum Erkennen von GO -Strukturen, die weniger Speicher haben würden, wenn ihre Felder sortiert würden.
- PRALLOC - Finden Sie Scheibenerklärungen, die möglicherweise prealloziert werden könnten.
- Rangerdanger - Tool zum Erkennen von Bereichsanweisungen, die über adressierbare Arrays iteriert werden
Berichte
- FLEN - Informieren Sie sich über die Länge der Funktionen in einem Go -Paket.
- GOREPORTER - Ein Golang -Tool, das statische Analyse, Unit -Tests, Codeüberprüfung und Generation von Codequalitätsbericht durchführt.
- Golinters - Golinters generiert HTML -Berichte über Go -Linter.
Miser
- Go -Outdated - Konsolenanwendung, die veraltete Pakete anzeigt.
- GO-Template-Lint-GO-Template-Lint ist ein Linter für GO Text/Vorlage (und HTML/Vorlage) Vorlagendateien.
- Godox - Finden Sie alle Todo/Fixme -Kommentare.
- Lingo - Satz spezifischer Schecks.
- Megacheck - Megacheck leitet StaticCheck, gleichzeitig und ungenutzt. Da es in der Lage ist, die Arbeit wiederzuverwenden, wird es schneller sein, als jedes Tool separat auszuführen.
- GO -CRITIC - Quellcode Linter mit Schecks, die derzeit nicht in anderen Lintern implementiert sind.
- TARP - TARP findet Funktionen und Methoden ohne direkte Unit -Tests im Go -Quellcode.
- Go -Mnd - Magic Number Detektor für Go.
- GOCheckit - Ein Go -Tool, um veraltete GO -Module zu identifizieren.
Liner -Helferwerkzeuge
- Golangci -Lint - Linters Läufer für Go. 5x schneller als Gometalinter. Schöne farbige Ausgabe. Kann nur neue Probleme melden. Weniger falsche Positiven. Yaml/Toml -Konfiguration.
- GometalInter - Metalinter ist ein Tool, mit dem automatisch das gesamte statische Analyse -Tool angewendet und deren Ausgabe in normalisierter Form meldet wird.
- Lint - Führen Sie Linter als Teil des GO -Tests aus.
- RevGREP - Filterausgabe aus statischen Analyse -Tools, die erst kürzlich geänderte Codezeilen angezeigt werden
- ReviewDog - "ReviewDog" bietet eine Möglichkeit, Kommentare zum Code -Hosting -Service wie GitHub automatisch zu veröffentlichen, indem Sie mit einfachen Linter -Tools in die Integration von Linter -Tools integrieren.
- ZB - Geschwindigkeitsleistung durch zwischen Gometalinter Ergebnis.
- Golintui - Eine einfache Terminal -Benutzeroberfläche für Go -Linter.