Čitatelji poput vas podržavaju MUO. Kada kupite putem poveznica na našoj stranici, možemo zaraditi partnersku proviziju. Čitaj više.

Linting je vrsta statičke analize koda za prepoznavanje potencijalnih pogrešaka u bazi koda. Linteri analiziraju kod radi grešaka u sintaksi i stilskih problema. Proces može spriječiti greške, poboljšati čitljivost, primijeniti najbolje prakse i uštedjeti vrijeme.

Linting je standardna praksa u razvoju softvera. Iako nema ugrađenog lintera u standardnu ​​biblioteku Go-a, u ekosustavu Go postoje mnogi alati za linting trećih strana. To uključuje pakete GolangCI Lint, Go Meta Linter i Staticcheck.

GolangCI Lint paket

Paket golangci-lint moćan je i fleksibilan linter za Go koji vam može pomoći identificirati i popraviti pogreške koda. Paket je jednostavan za korištenje, proširivost i opsežan skup ugrađenih lintera čine ga popularnim izborom za mnoge Go programere.

GolangCI Lint analizira Go izvorni kod i daje povratne informacije o potencijalnim greškama, sigurnosnim problemima i kršenja stila kodiranja s funkcionalnošću za analizu visokih performansi i kontinuiranu integraciju (CI) podrška.

instagram viewer

Pokrenite ovu naredbu terminala u radnom direktoriju vašeg projekta da biste instalirali paket Golangci-lint:

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

Vaša Go verzija mora biti 1.19 ili novija da bi naredba instalirala paket. Također možete provjeriti golangci-lint instalacije stranicu za ostale dostupne metode instalacije.

Naredba će instalirati GolangCI na vaš sustav kao CLI alat. Instalaciju možete provjeriti ovom naredbom:

golangci-lint --verzija

Naredba bi trebala prikazati verziju golangci-linta koju ste instalirali.

Konfiguriranje Lintera

Linteri su vrlo svestrani, pa da biste instalirali linter, morat ćete konfigurirati linter za svoj projekt.

The golangci-lint upotrebe alata YAML datoteke za konfiguraciju. Navesti ćete postavke vašeg linter-a u YAML datoteci za čitanje paketa.

Možete stvoriti zadanu konfiguracijsku datoteku pomoću ove naredbe:

golangci-lint config > .golangci.yml

Naredba stvara novu datoteku pod nazivom .golangci.yml u vašem trenutnom direktoriju. Možete nastaviti s uređivanjem ove datoteke kako biste konfigurirali linter za svoj projekt.

Evo sadržaja .golangci.yml datoteku kada pokrenete naredbu:

Datoteka sadrži podatke o golangci-lint alat i opcije koje možete upotrijebiti za konfiguriranje postupka unosa.

Morat ćete urediti datoteku kako biste dodali pravila lintinga za svoj program. Potpuni popis dostupnih lintera možete pronaći na golangci-lint Linters stranica dokumentacije. Ili možete pokrenuti pomoći linterima naredba za pregled lintera u vašoj naredbenoj liniji:

golangci-lint pomoći linters

Naredba ispisuje sve Linterse dostupne za verziju paketa koji ste instalirali.

Pokretanje Linter-a

Evo demonstracije pisanja sljedećeg "Hello, World!" program koji koristi net/http paket:

paket glavni

uvoz (
"fmt"
"net/http"
)

funkrukovatelj(w http. ResponseWriter, r *http. Zahtjev) {
fmt. Fprintf (w, "Pozdrav svijete!")
}

funkglavni() {
http. HandleFunc("/", voditelj)
http. SlušajIPosluži(":8080", nula)
}

Ovaj program definira a rukovatelj funkcija koja preuzima instance pisca i zahtjeva iz http paketa ResponseWriter i Zahtjev vrste struktura. The rukovatelj funkcija piše "Hello, World!" klijentu na zahtjev.

The glavni funkcija postavlja / put do rukovatelj funkcija, i Slušajte i služite funkcija pokreće poslužitelj na portu lokalnog hosta 8080.

The Slušajte i služite funkcija vraća pogrešku, ali je program ignorira. Ova konfiguracija će osigurati da linter istakne problem:

linters-postavke:
mrtvi kod:
# ignorirajte sve testne datoteke
datoteke za preskakanje: "_test\\.go$"
vladati:
# onemogući provjeru sjenčanja
sjenčanje provjere: lažno
golint:
# ignorirajte pogreške o nazivima eksportiranih funkcija
isključi-koristi-zadano-izvezeno: pravi

# ignoriraj pogreške o podvlakama paket imena
isključi-beskorisno-imenovanje: pravi
gosec:
# onemogući gosec testove, jer su spori i mogu proizvesti lažno pozitivci
testovi: lažno
neiskorišteno:
# prijavi neiskorištene argumente funkcije, ali ne i neiskorištene varijable
čekovno izvezeno: pravi
prazan ček: pravi
provjera-testovi: pravi

Nakon postavljanja ove konfiguracije linter, možete pokrenuti linter s trčanje naredba:

golangci-lint trčanje

# ekvivalentan, pokreće sve programe
golangci-lint run ./...

Alternativno, možete označiti određene datoteke tako da navedete naziv datoteke ili stazu nakon trčanje naredba:

 golangci-lint pokreni dir1 dir2/... dir3/datoteka1.go

Evo rezultata pokretanja lintera protiv programa:

The golangci-lint alat je svestran, a vaša će se konfiguracija razlikovati ovisno o vašem projektu.

Možete lintirati svoje JavaScript projekte pomoću ESLinta

Linting je popularan zadatak razvoja softvera, a većina programskih jezika i IDE-ova nudi alate za programe za crtanje. Za JavaScript, ESLint je najpopularniji linter.

Eslint pruža višestruka pravila lintinga koja slijede industrijske standarde u CLI, IDE i alatima za uređivanje teksta, što alat za linting čini odličnim izborom za JavaScript programere.