A Linting a statikus kódelemzés egy fajtája a lehetséges kódbázishibák azonosítására. Linters elemzi a kódot szintaktikai hibák és stílusproblémák keresésére. A folyamat segíthet megelőzni a hibákat, javítani az olvashatóságot, betartatni a legjobb gyakorlatokat, és időt takaríthat meg.
A szöszölés bevett gyakorlat a szoftverfejlesztésben. Bár a Go szabványos könyvtárába nincs beépítve linter, sok harmadik féltől származó linting eszköz létezik a Go ökoszisztémában. Ide tartozik a GolangCI Lint, a Go Meta Linter és a Staticcheck csomag.
MAKEUSEOF A NAP VIDEÓJA
A GolangCI Lint csomag

A golangci-lint csomag egy erőteljes és rugalmas linter a Go-hoz, amely segíthet azonosítani és kijavítani a kódhibákat. A csomag egyszerű használhatósága, bővíthetősége és átfogó beépített linterkészlete sok Go fejlesztő számára népszerű választássá teszi.
A GolangCI Lint elemzi a Go forráskódját, és visszajelzést ad a lehetséges hibákról, biztonsági problémákról és a kódolási stílus megsértéseiről, a nagy teljesítményű elemzés és a folyamatos integráció (CI) támogatásával.
Futtassa ezt a terminálparancsot a projekt munkakönyvtárában a Golangci-lint csomag telepítéséhez:
go install github.com/golangci/golangci-lint/cmd/golangci-lint@v1.51.1
A csomag telepítéséhez a parancsnak 1.19-es vagy újabb verziójúnak kell lennie. Azt is ellenőrizheti a golangci-lint telepítések oldalt az egyéb elérhető telepítési módokért.
A parancs CLI-eszközként telepíti a GolangCI-t a rendszerére. A telepítést ezzel a paranccsal ellenőrizheti:
golangci-lint --version
A parancsnak a telepített golangci-lint verzióját kell megjelenítenie.
A Linter konfigurálása
A linterek nagyon sokoldalúak , tehát a linter telepítéséhez be kell állítania azt a projekthez.
A golangci-lint eszközhasználatok YAML fájlokat a konfigurációhoz . Meg kell adnia a linter beállításait a YAML-fájlban, hogy a csomag elolvasható legyen.
Ezzel a paranccsal létrehozhat egy alapértelmezett konfigurációs fájlt:
golangci-lint config > .golangci.yml
A parancs létrehoz egy új nevű fájlt .golangci.yml az aktuális könyvtárában. Folytathatja ennek a fájlnak a szerkesztését a linter konfigurálásához a projekthez.
Íme a tartalma a .golangci.yml fájl a parancs futtatásakor:

A fájl információkat tartalmaz a golangci-lint eszközt és a listázási folyamat konfigurálásához használható lehetőségeket.
Szerkesztenie kell a fájlt, hogy hozzáadhassa a programhoz tartozó vonalzási szabályokat. Az elérhető linterek teljes listáját megtalálja a golangci-lint Linters dokumentációs oldal. Vagy futtathatja a segít linters parancsot a parancssorban lévő linterek megtekintéséhez:
golangci-lint help linters
A parancs megjeleníti a telepített csomag verziójához elérhető összes Lintert.

A Linter futtatása
Íme egy bemutató a következő „Helló, világ!” szöveg beszúrásáról. program, amely a net/http csomag:
package main
import (
"fmt"
"net/http"
)
func handler(w http.ResponseWriter, r *http.Request) {
fmt.Fprintf(w, "Hello, world!")
}
func main() {
http.HandleFunc("/", handler)
http.ListenAndServe(":8080", nil)
}
Ez a program meghatározza a kezelő függvény, amely beveszi az írót és a kérést a http csomagok ResponseWriter és Kérés struktúra típusok. A kezelő A függvény ezt írja: „Hello, World!” kérésére az ügyfélnek.
értesít az instagram, amikor képernyőképet készít egy dm -ről
A fő- függvény rögzíti a / útvonalat a kezelő funkciót, és a ListenAndServe függvény elindítja a szervert a localhost porton 8080 .
A ListenAndServe függvény hibát ad vissza, de a program figyelmen kívül hagyja. Ez a konfiguráció biztosítja, hogy a linter kiemelje a problémát:
linters-settings:
deadcode:
# ignore all test files
skip-files: "_test\.go$"
govet:
# disable shadowing check
check-shadowing: false
golint:
# ignore errors about exported function names
exclude-use-default-exported: true
# ignore errors about underscores in package names
exclude-useless-naming: true
gosec:
# disable gosec tests, since they are slow and can produce false positives
tests: false
unused:
# report unused function arguments, but not unused variables
check-exported: true
check-blank: true
check-tests: true
Miután beállította ezt a linter konfigurációt, futtathatja a lintert a fuss parancs:
golangci-lint run
# equivalent, runs all programs
golangci-lint run ./...
Alternatív megoldásként a fájl nevét vagy elérési útját megadva szöszölhet bizonyos fájlokat fuss parancs:
golangci-lint run dir1 dir2/... dir3/file1.go
Íme a linter futtatásának eredménye a program ellen:

A golangci-lint Az eszköz sokoldalú, és a konfiguráció a projekttől függően változhat.
Az ESLint segítségével beillesztheti JavaScript-projektjeit
A linting egy népszerű szoftverfejlesztési feladat, és a legtöbb programozási nyelv és IDE eszközöket biztosít a programok lintinghez. A JavaScript esetében az ESLint a legnépszerűbb linter.
Az Eslint több vonalzási szabályt biztosít, amelyek követik az iparági szabványokat a CLI, IDE és szövegszerkesztő eszközökben, így a linting eszköz nagyszerű választás a JavaScript-fejlesztők számára.