Čitatelia ako vy pomáhajú podporovať MUO. Keď uskutočníte nákup pomocou odkazov na našej stránke, môžeme získať pridruženú províziu. Čítaj viac.

Lining je typ analýzy statického kódu na identifikáciu potenciálnych chýb kódovej základne. Linters analyzuje kód pre syntaktické chyby a problémy so štýlom. Tento proces môže pomôcť predchádzať chybám, zlepšiť čitateľnosť, presadiť osvedčené postupy a ušetriť čas.

Lining je štandardnou praxou pri vývoji softvéru. Hoci v štandardnej knižnici Go nie je zabudovaný žiadny linter, v ekosystéme Go existuje veľa nástrojov na linter od tretích strán. Patria sem balíčky GolangCI Lint, Go Meta Linter a Staticcheck.

GolangCI Lint Package

Balíček golangci-lint je výkonný a flexibilný linter pre Go, ktorý vám môže pomôcť identifikovať a opraviť chyby kódu. Jednoduché použitie, rozšíriteľnosť a komplexná sada vstavaných linter z neho robia obľúbenú voľbu pre mnohých vývojárov Go.

GolangCI Lint analyzuje zdrojový kód Go a poskytuje spätnú väzbu o potenciálnych chybách, bezpečnostných problémoch a porušenie štýlu kódovania s funkciou pre vysokovýkonnú analýzu a nepretržitú integráciu (CI) podpora.

instagram viewer

Spustite tento príkaz terminálu v pracovnom adresári vášho projektu a nainštalujte balík Golangci-lint:

nainštalujte si github.com/golangci/golangci-lint/cmd/[email protected]

Vaša verzia Go musí byť 1.19 alebo novšia, aby príkaz nainštaloval balík. Môžete tiež skontrolovať inštalácie golangci-lint na stránke s ďalšími dostupnými spôsobmi inštalácie.

Príkaz nainštaluje GolangCI do vášho systému ako nástroj CLI. Inštaláciu môžete overiť pomocou tohto príkazu:

golangci-lint --verzia

Príkaz by mal zobraziť verziu golangci-lint, ktorú ste nainštalovali.

Konfigurácia Linter

Linters sú veľmi všestranné, takže ak chcete nainštalovať linter, budete musieť nakonfigurovať linter pre váš projekt.

The golangci-lint použitie nástroja súbory YAML na konfiguráciu. V súbore YAML zadáte nastavenia vášho linteru, aby sa balík mohol čítať.

Predvolený konfiguračný súbor môžete vytvoriť pomocou tohto príkazu:

golangci-lint config > .golangci.yml

Príkaz vytvorí nový súbor s názvom .golangci.yml vo vašom aktuálnom adresári. Môžete pokračovať v úprave tohto súboru a nakonfigurovať linter pre váš projekt.

Tu je obsah .golangci.yml súbor pri spustení príkazu:

Súbor obsahuje informácie o golangci-lint nástroj a možnosti, ktoré môžete použiť na konfiguráciu procesu záznamu.

Ak chcete pridať pravidlá lintovania pre váš program, musíte súbor upraviť. Úplný zoznam dostupných linterov nájdete na golangci-lint Linters dokumentačnú stránku. Alebo môžete spustiť help linters príkaz na zobrazenie linterov na príkazovom riadku:

golangci-lint help linters

Príkaz vypíše všetky Lintery dostupné pre verziu balíka, ktorý ste nainštalovali.

Spustenie Linteru

Tu je ukážka lemovania nasledujúceho textu „Ahoj, svet!“ program, ktorý používa net/http balík:

balík Hlavná

importovať (
"fmt"
"net/http"
)

funcpsovod(w http. ResponseWriter, r *http. žiadosť) {
fmt. Fprintf (w, "Ahoj, svet!")
}

funcHlavná() {
http. HandleFunc("/", manipulant)
http. Počúvaj a podávaj (":8080", nula)
}

Tento program definuje a psovod funkcia, ktorá preberá inštancie Writer a request z http balíkov ResponseWriter a Žiadosť typy štruktúr. The psovod funkcia píše "Ahoj, svet!" klientovi na požiadanie.

The Hlavná funkcia pripojí / cesta k psovod funkcie a Počúvajte a podávajte funkcia spúšťa server na porte localhost 8080.

The Počúvajte a podávajte funkcia vráti chybu, ale program ju ignoruje. Táto konfigurácia zabezpečí, že linter zvýrazní problém:

linters-nastavenia:
mŕtvy kód:
# ignorovať všetky testovacie súbory
preskočiť súbory: "_test\\.go$"
govet:
# zakázať kontrolu tieňovania
check-shadowing: falošný
golint:
# ignorovať chyby týkajúce sa názvov exportovaných funkcií
vylúčiť-použitie-predvolená- exportované: pravda

# ignorovať chyby týkajúce sa podčiarkovníkov v balík mená
vylúčiť-neužitočné-pomenúvanie: pravda
gosec:
# zakázať testy gosec, pretože sú pomalé a môžu produkovať falošný pozitíva
testy: falošný
nepoužité:
# hlási nepoužité argumenty funkcií, ale nie nepoužívané premenné
šekovo exportované: pravda
check-blank: pravda
kontrolné testy: pravda

Po nastavení tejto konfigurácie linter môžete spustiť linter pomocou behať príkaz:

golangci-lint beh

# ekvivalent, spustí všetky programy
golangci-lint beh ./...

Prípadne môžete lint špecifické súbory zadaním názvu súboru alebo cesty za behať príkaz:

 golangci-lint spustiť dir1 dir2/... dir3/file1.go

Tu je výsledok spustenia linter proti programu:

The golangci-lint nástroj je všestranný a vaša konfigurácia sa bude líšiť v závislosti od vášho projektu.

Svoje projekty v JavaScripte môžete pospájať pomocou ESLint

Linting je populárna úloha pri vývoji softvéru a väčšina programovacích jazykov a IDE poskytuje nástroje pre programy na linting. Pre JavaScript je ESLint najobľúbenejší linter.

Eslint poskytuje viacero pravidiel liningu, ktoré sa riadia priemyselnými štandardmi v nástrojoch CLI, IDE a textových editoroch, vďaka čomu je nástroj lining skvelou voľbou pre vývojárov JavaScriptu.