Linting to rodzaj statycznej analizy kodu służącej do identyfikowania potencjalnych błędów bazy kodu. Linters analizuje kod pod kątem błędów składniowych i problemów ze stylem. Proces ten może pomóc zapobiegać błędom, poprawiać czytelność, egzekwować najlepsze praktyki i oszczędzać czas.
Linting jest standardową praktyką w tworzeniu oprogramowania. Chociaż w standardowej bibliotece Go nie ma wbudowanych linterów, w ekosystemie Go istnieje wiele narzędzi do lintingu innych firm. Należą do nich pakiety GolangCI Lint, Go Meta Linter i Staticcheck.
Pakiet GolangCI Lint
Pakiet golangci-lint to potężny i elastyczny linter dla Go, który może pomóc w identyfikacji i naprawie błędów kodu. Łatwość użycia, rozszerzalność i obszerny zestaw wbudowanych linters sprawiają, że pakiet jest popularnym wyborem dla wielu programistów Go.
GolangCI Lint analizuje kod źródłowy Go i przekazuje informacje zwrotne na temat potencjalnych błędów, problemów z bezpieczeństwem i kodowanie naruszeń stylów z funkcjonalnością do wysokowydajnej analizy i ciągłej integracji (CI) wsparcie.
Uruchom to polecenie terminala w katalogu roboczym swojego projektu, aby zainstalować pakiet Golangci-lint:
przejdź do instalacji https://github.com/golangci/golangci-lint/cmd/[email protected]
Twoja wersja Go musi być 1.19 lub nowsza, aby polecenie zainstalowało pakiet. Możesz też sprawdzić instalacje golangci-lint stronie, aby zapoznać się z innymi dostępnymi metodami instalacji.
Polecenie zainstaluje GolangCI w twoim systemie jako narzędzie CLI. Możesz zweryfikować instalację za pomocą tego polecenia:
golangci-lint --wersja
Polecenie powinno wyświetlić zainstalowaną wersję golangci-lint.
Konfiguracja Lintera
Linters są bardzo wszechstronne, więc aby zainstalować linter, musisz skonfigurować linter dla swojego projektu.
The golangci-lint zastosowania narzędzi Pliki YAML do konfiguracji. Określisz ustawienia swojego lintera w pliku YAML, aby pakiet mógł go odczytać.
Możesz utworzyć domyślny plik konfiguracyjny za pomocą tego polecenia:
konfiguracja golangci-lint > .golangci.yml
Polecenie tworzy nowy plik o nazwie .golangci.yml w twoim bieżącym katalogu. Możesz przystąpić do edycji tego pliku, aby skonfigurować linter dla swojego projektu.
Oto zawartość ww .golangci.yml plik po uruchomieniu polecenia:
Plik zawiera informacje nt golangci-lint narzędzie i opcje, których możesz użyć do skonfigurowania procesu wystawiania.
Będziesz musiał edytować plik, aby dodać reguły lintingu dla swojego programu. Pełną listę dostępnych linters znajdziesz na stronie golangci-lint Linters strona z dokumentacją. Lub możesz uruchomić pomóż linterom polecenie, aby wyświetlić lintery w wierszu poleceń:
golangci-lint pomoc linters
Polecenie wyświetla wszystkie Linters dostępne dla wersji zainstalowanego pakietu.
Prowadzenie Lintera
Oto demonstracja szarpania następującego „Witaj, świecie!” program korzystający z tzw sieć/http pakiet:
pakiet główny
import (
"fmt"
„sieć/http”
)funkcjatreser(w http. ResponseWriter, r *http. Wniosek) {
fmt. Fprintf (w, "Witaj świecie!")
}
funkcjagłówny() {
http. HandleFunc("/", przewodnik)
http. słuchaj i służ(":8080", zero)
}
Ten program definiuje a treser funkcja, która pobiera instancje zapisu i żądań z http paczek Pisarz odpowiedzi I Wniosek typy struktur. The treser funkcja zapisuje „Witaj, świecie!” na życzenie klienta.
The główny funkcja montuje / trasa do treser funkcja i Słuchaj i służ funkcja uruchamia serwer na porcie localhost 8080.
The Słuchaj i służ funkcja zwraca błąd, ale program go ignoruje. Ta konfiguracja zapewni, że linter zwróci uwagę na problem:
ustawienia lintersa:
martwy kod:
# zignoruj wszystkie pliki testowe
pomiń pliki: "_test\\.go$"
rząd:
# wyłącz sprawdzanie cieniowania
cieniowanie kontrolne: FAŁSZ
golin:
# ignoruj błędy dotyczące wyeksportowanych nazw funkcji
wyklucz-użyj-domyślny-eksportowane: PRAWDA
# ignoruj błędy dotyczące podkreśleń w pakiet nazwy
wykluczenie-bezużyteczne-nazewnictwo: PRAWDA
gosec:
# wyłącz testy gosec, ponieważ są wolne i mogą generować FAŁSZ pozytywy
testy: FAŁSZ
nie używany:
# zgłasza nieużywane argumenty funkcji, ale nie nieużywane zmienne
czek wyeksportowany: PRAWDA
puste: PRAWDA
testy kontrolne: PRAWDA
Po ustawieniu tej konfiguracji lintera możesz uruchomić lintera za pomocą uruchomić Komenda:
bieg golangci-lint
# odpowiednik, uruchamia wszystkie programy
golangci-lint run ./...
Alternatywnie możesz kłaść określone pliki, podając nazwę pliku lub ścieżkę po uruchomić Komenda:
golangci-lint run dir1 dir2/... dir3/plik1.go
Oto wynik uruchomienia lintera przeciwko programowi:
The golangci-lint Narzędzie jest wszechstronne, a konfiguracja będzie się różnić w zależności od projektu.
Możesz Lintować swoje projekty JavaScript za pomocą ESLint
Linting jest popularnym zadaniem programistycznym, a większość języków programowania i IDE zapewnia narzędzia do programów lintingowych. W przypadku języka JavaScript najpopularniejszym linterem jest ESLint.
Eslint zapewnia wiele reguł lintingu, które są zgodne ze standardami branżowymi w narzędziach CLI, IDE i edytorze tekstu, dzięki czemu narzędzie do lintingu jest doskonałym wyborem dla programistów JavaScript.