Čtenáři jako vy pomáhají podporovat MUO. Když provedete nákup pomocí odkazů na našich stránkách, můžeme získat provizi přidružené společnosti. Přečtěte si více.

Linting je typ statické analýzy kódu pro identifikaci potenciálních chyb kódové základny. Linters analyzuje kód na syntaktické chyby a problémy se stylem. Tento proces může pomoci předejít chybám, zlepšit čitelnost, prosadit osvědčené postupy a ušetřit čas.

Lining je standardní postup při vývoji softwaru. Přestože standardní knihovna Go nemá žádný linter, v ekosystému Go existuje mnoho nástrojů pro linting od jiných výrobců. Patří mezi ně balíčky GolangCI Lint, Go Meta Linter a Staticcheck.

Balíček GolangCI Lint

Balíček golangci-lint je výkonný a flexibilní linter pro Go, který vám může pomoci identifikovat a opravit chyby kódu. Snadné použití, rozšiřitelnost a komplexní sada vestavěných linterů z něj činí oblíbenou volbu pro mnoho vývojářů Go.

GolangCI Lint analyzuje zdrojový kód Go a poskytuje zpětnou vazbu ohledně potenciálních chyb, bezpečnostních problémů a porušení stylu kódování s funkcí pro vysoce výkonnou analýzu a kontinuální integraci (CI) Podpěra, podpora.

instagram viewer

Spusťte tento příkaz terminálu v pracovním adresáři vašeho projektu a nainstalujte balíček Golangci-lint:

nainstalujte github.com/golangci/golangci-lint/cmd/[email protected]

Vaše verze Go musí být 1.19 nebo novější, aby příkaz mohl balíček nainstalovat. Můžete také zkontrolovat instalace golangci-lint stránku pro další dostupné způsoby instalace.

Příkaz nainstaluje GolangCI do vašeho systému jako nástroj CLI. Instalaci můžete ověřit pomocí tohoto příkazu:

golangci-lint --verze

Příkaz by měl zobrazit verzi golangci-lint, kterou jste nainstalovali.

Konfigurace Linteru

Linters jsou velmi univerzální, takže chcete-li nainstalovat linter, budete muset nakonfigurovat linter pro váš projekt.

The golangci-lint použití nástroje soubory YAML pro konfiguraci. V souboru YAML určíte nastavení vašeho linteru, aby se balíček mohl číst.

Výchozí konfigurační soubor můžete vytvořit pomocí tohoto příkazu:

konfigurace golangci-lint > .golangci.yml

Příkaz vytvoří nový soubor s názvem .golangci.yml ve vašem aktuálním adresáři. Můžete pokračovat v úpravě tohoto souboru a nakonfigurovat linter pro váš projekt.

Zde je obsah .golangci.yml soubor, když spustíte příkaz:

Soubor obsahuje informace o golangci-lint nástroj a možnosti, které můžete použít ke konfiguraci procesu zápisu.

Chcete-li přidat pravidla lintingu pro váš program, budete muset soubor upravit. Úplný seznam dostupných linterů naleznete na golangci-lint Linters dokumentační stránku. Nebo můžete spustit help linters příkaz k zobrazení linterů na příkazovém řádku:

golangci-lint help linters

Příkaz vypíše všechny Lintery dostupné pro verzi balíčku, který jste nainstalovali.

Spuštění Linteru

Zde je ukázka lincování následujícího „Ahoj, světe!“ program, který používá net/http balík:

balík hlavní

import (
"fmt"
"net/http"
)

funcpsovod(w http. ResponseWriter, r *http. Žádost) {
fmt. Fprintf (w, "Ahoj světe!")
}

funchlavní() {
http. HandleFunc("/", manipulant)
http. Poslouchejte a servírujte (":8080", nula)
}

Tento program definuje a psovod funkce, která přijímá instance Writeru a požadavku z http balíčky ResponseWriter a Žádost typy struktur. The psovod funkce píše "Ahoj, světe!" klientovi na vyžádání.

The hlavní funkce připojí / cesta k psovod funkce a ListenAndServe funkce spustí server na portu localhost 8080.

The ListenAndServe funkce vrátí chybu, ale program ji ignoruje. Tato konfigurace zajistí, že linter zvýrazní problém:

linters-nastavení:
mrtvý kód:
# ignorovat všechny testovací soubory
přeskakovat soubory: "_test\\.go$"
govet:
# zakázat kontrolu stínování
kontrolní stínování: Nepravdivé
golint:
# ignorovat chyby o exportovaných názvech funkcí
vyloučit-použití-výchozí- exportováno: skutečný

# ignorovat chyby týkající se podtržítek v balík jména
vyloučit-neužitečné-jmenování: skutečný
gosec:
# zakázat testy gosec, protože jsou pomalé a mohou produkovat Nepravdivé pozitiva
testy: Nepravdivé
nepoužitý:
# hlásí nepoužité argumenty funkcí, ale ne nepoužívané proměnné
šekově exportováno: skutečný
check-blank: skutečný
kontrolní testy: skutečný

Po nastavení této konfigurace linter můžete spustit linter pomocí běh příkaz:

golangci-lint běh

# ekvivalentní, spouští všechny programy
golangci-lint run ./...

Případně můžete lint konkrétní soubory zadáním názvu souboru nebo cesty za běh příkaz:

 golangci-lint spustit dir1 dir2/... dir3/file1.go

Zde je výsledek spuštění linter proti programu:

The golangci-lint nástroj je všestranný a vaše konfigurace se bude lišit v závislosti na vašem projektu.

Své projekty v JavaScriptu můžete posílat pomocí ESLint

Linting je oblíbeným úkolem vývoje softwaru a většina programovacích jazyků a IDE poskytuje nástroje pro programy na vytváření linek. Pro JavaScript je ESLint nejoblíbenější linter.

Eslint poskytuje několik pravidel liningu, která se řídí průmyslovými standardy v nástrojích CLI, IDE a textovém editoru, díky čemuž je nástroj lining skvělou volbou pro vývojáře JavaScriptu.