Programy Lint Your Go z pakietem GolangCI Lint

Programy Lint Your Go z pakietem GolangCI Lint
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.





WYKORZYSTAJ WIDEO DNIA

Pakiet GolangCI Lint

  Logo GolangCI Lint, niebieski suseł trzymający tarczę z narysowanym na niej robakiem

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:

  Instrukcje użycia pliku YAML Golangci-lint

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
  wynikają z uruchomienia polecenia help na Golangci-lint

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:

  wynikają z uruchomienia lintera w programie http

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.