Czytelnicy tacy jak ty pomagają wspierać MUO. Kiedy dokonujesz zakupu za pomocą linków na naszej stronie, możemy otrzymać prowizję partnerską. Czytaj więcej.

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.

instagram viewer

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.