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.
WYKORZYSTAJ WIDEO DNIA
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 dostarcza informacji zwrotnych na temat potencjalnych błędów, problemów z bezpieczeństwem i naruszeń stylu kodowania z funkcjonalnością do wysokowydajnej analizy i wsparcia ciągłej integracji (CI).
Usługa profilu użytkownika systemu Windows 10 nie powiodła się przy logowaniu
Uruchom to polecenie terminala w katalogu roboczym swojego projektu, aby zainstalować pakiet Golangci-lint:
go install github.com/golangci/golangci-lint/cmd/golangci-lint@v1.51.1
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 --version
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:
golangci-lint config > .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 help linters
Polecenie wyświetla wszystkie Linters dostępne dla wersji zainstalowanego pakietu.
jak naprawić uszkodzone pliki mp4
Prowadzenie Lintera
Oto demonstracja szarpania następującego „Witaj, świecie!” program korzystający z tzw sieć/http pakiet:
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)
}
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:
jak zmienić lokalizację kopii zapasowej iTunes
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
Po ustawieniu tej konfiguracji lintera możesz uruchomić lintera za pomocą uruchomić Komenda:
golangci-lint run
# equivalent, runs all programs
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/file1.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.