Ang linting ay isang uri ng static code analysis para sa pagtukoy ng mga potensyal na error sa codebase. Sinusuri ng mga linter ang code para sa mga error sa syntax at mga isyu sa istilo. Makakatulong ang proseso na maiwasan ang mga bug, mapabuti ang pagiging madaling mabasa, ipatupad ang pinakamahuhusay na kagawian, at makatipid ng oras.
Ang linting ay isang karaniwang kasanayan sa pagbuo ng software. Bagama't walang linter na nakapaloob sa karaniwang library ng Go, maraming third-party na tool sa linting ang umiiral sa Go ecosystem. Kabilang dito ang mga pakete ng GolangCI Lint, Go Meta Linter, at Staticcheck.
MAKEUSEOF VIDEO OF THE DAY
Ang GolangCI Lint Package
Ang golangci-lint package ay isang malakas at nababaluktot na linter para sa Go na makakatulong sa iyong tukuyin at ayusin ang mga error sa code. Ang kadalian ng paggamit ng package, extensibility, at komprehensibong hanay ng mga built-in na linter ay ginagawa itong isang popular na pagpipilian para sa maraming mga developer ng Go.
Sinusuri ng GolangCI Lint ang source code ng Go at nagbibigay ng feedback sa mga potensyal na bug, isyu sa seguridad, at mga paglabag sa istilo ng coding na may functionality para sa pagsusuri sa mataas na pagganap at suporta sa patuloy na pagsasama (CI).
Patakbuhin ang terminal command na ito sa working directory ng iyong proyekto para i-install ang Golangci-lint package:
go install github.com/golangci/golangci-lint/cmd/golangci-lint@v1.51.1
Ang iyong bersyon ng Go ay dapat na 1.19 o mas bago para sa command na i-install ang package. Maaari mo ring suriin ang mga instalasyon ng golangci-lint page para sa iba pang magagamit na paraan ng pag-install.
I-install ng command ang GolangCI sa iyong system bilang isang CLI tool. Maaari mong i-verify ang pag-install gamit ang command na ito:
golangci-lint --version
Dapat ipakita ng command ang bersyon ng golangci-lint na iyong na-install.
kung paano gawing mas mabilis ang pagsingil sa telepono
Pag-configure ng Linter
Ang mga linters ay napaka-versatile , kaya para mag-install ng linter, kailangan mong i-configure ang linter para sa iyong proyekto.
kung paano ilipat ang operating system mula sa isang computer patungo sa isa pa
Ang golangci-lint gamit ng kasangkapan YAML file para sa configuration . Tutukuyin mo ang mga setting ng iyong linter sa YAML file para mabasa ng package.
Maaari kang lumikha ng default na configuration file gamit ang command na ito:
golangci-lint config > .golangci.yml
Lumilikha ang command ng isang bagong file na pinangalanan .golangci.yml sa iyong kasalukuyang direktoryo. Maaari kang magpatuloy sa pag-edit ng file na ito upang i-configure ang linter para sa iyong proyekto.
Narito ang mga nilalaman ng .golangci.yml file kapag pinatakbo mo ang command:
Ang file ay naglalaman ng impormasyon tungkol sa golangci-lint tool at ang mga opsyon na magagamit mo upang i-configure ang iyong proseso ng listing.
Kakailanganin mong i-edit ang file upang magdagdag ng mga panuntunan sa linting para sa iyong program. Makikita mo ang buong listahan ng mga available na linter sa golangci-lint Linters pahina ng dokumentasyon. O maaari mong patakbuhin ang tulong linters command upang tingnan ang mga linter sa iyong command line:
golangci-lint help linters
Ang command ay naglalabas ng lahat ng mga Linters na magagamit para sa bersyon ng package na iyong na-install.
Pagpapatakbo ng Linter
Narito ang isang demonstrasyon ng linting ng sumusunod na 'Hello, World!' program na gumagamit ng net/http pakete:
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)
}
Tinutukoy ng program na ito ang a handler function na tumatagal sa manunulat at humiling ng mga pagkakataon mula sa http mga pakete ResponseWriter at Hiling mga uri ng istruktura. Ang handler Ang function ay nagsusulat ng 'Hello, World!' sa kliyente kapag hiniling.
ano ang matalinong tv?
Ang pangunahing function mounts ang / ruta patungo sa handler function, at ang ListenAndServe Sinisimulan ng function ang server sa localhost port 8080 .
Ang ListenAndServe function ay nagbabalik ng isang error, ngunit ang programa ay hindi pinapansin ito. Titiyakin ng configuration na ito na iha-highlight ng linter ang isyu:
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
Pagkatapos itakda ang configuration ng linter na ito, maaari mong patakbuhin ang linter gamit ang tumakbo utos:
golangci-lint run
# equivalent, runs all programs
golangci-lint run ./...
Bilang kahalili, maaari kang mag-lint ng mga partikular na file sa pamamagitan ng pagtukoy sa pangalan ng file o path pagkatapos ng tumakbo utos:
golangci-lint run dir1 dir2/... dir3/file1.go
Narito ang resulta ng pagpapatakbo ng linter laban sa programa:
Ang golangci-lint Ang tool ay maraming nalalaman, at ang iyong configuration ay mag-iiba batay sa iyong proyekto.
Maaari Mong I-lint ang Iyong Mga Proyekto sa JavaScript Gamit ang ESLint
Ang linting ay isang sikat na gawain sa pagbuo ng software, at karamihan sa mga programming language at IDE ay nagbibigay ng mga tool para sa linting program. Para sa JavaScript, ang ESLint ang pinakasikat na linter.
Nagbibigay ang Eslint ng maraming panuntunan sa linting na sumusunod sa mga pamantayan ng industriya sa mga tool sa CLI, IDE, at text editor, na ginagawang magandang pagpipilian ang linting tool para sa mga developer ng JavaScript.