Az Önhöz hasonló olvasók támogatják a MUO-t. Amikor a webhelyünkön található linkek használatával vásárol, társult jutalékot kaphatunk. Olvass tovább.

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.

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 kódolási stílus megsértése a nagy teljesítményű elemzés és a folyamatos integráció (CI) funkciójával támogatás.

instagram viewer

Futtassa ezt a terminálparancsot a projekt munkakönyvtárában a Golangci-lint csomag telepítéséhez:

telepítse a github.com/golangci/golangci-lint/cmd/[email protected]

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 --verzió

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 segíti a lintereket

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:

csomag fő-

import (
"fmt"
"net/http"
)

funckezelő(w http. ResponseWriter, r *http. Kérés) {
fmt. Fprintf (w, "Helló Világ!")
}

funcfő-() {
http. HandleFunc("/", kezelő)
http. ListenAndServe(":8080", nulla)
}

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.

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:

linterek beállításai:
holtkód:
# figyelmen kívül hagyja az összes tesztfájlt
skip-fájlok: "_test\\.go$"
govet:
# az árnyékolás ellenőrzésének letiltása
ellenőrző árnyékolás: hamis
golint:
# figyelmen kívül hagyja az exportált függvénynevekkel kapcsolatos hibákat
használat kizárása-alapértelmezett-exportált: igaz

# figyelmen kívül hagyja az aláhúzásokkal kapcsolatos hibákat csomag neveket
a haszontalan elnevezés kizárása: igaz
gosec:
# tiltsa le a gosec teszteket, mert lassúak és képesek produkálni hamis pozitívumok
tesztek: hamis
felhasználatlan:
# jelenti a nem használt függvény argumentumokat, de nem a nem használt változókat
csekk exportálva: igaz
üres csekk: igaz
ellenőrző tesztek: igaz

Miután beállította ezt a linter konfigurációt, futtathatja a lintert a fuss parancs:

golangci-lint futás

# egyenértékű, minden programot futtat
golangci-lint futás ./...

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.