Linting yra statinio kodo analizės tipas, skirtas nustatyti galimas kodų bazės klaidas. „Linters“ analizuoja kodą dėl sintaksės klaidų ir stiliaus problemų. Šis procesas gali padėti išvengti klaidų, pagerinti skaitomumą, taikyti geriausią praktiką ir sutaupyti laiko.
Lining yra standartinė programinės įrangos kūrimo praktika. Nors įprastoje „Go“ bibliotekoje nėra įmontuoto linterio, „Go“ ekosistemoje yra daug trečiųjų šalių šlifavimo įrankių. Tai apima „GolangCI Lint“, „Go Meta Linter“ ir „Staticcheck“ paketus.
DIENOS VAIZDO ĮRAŠO PAGALBA
„GolangCI Lint“ paketas
Golangci-lint pakuotė yra galingas ir lankstus „Go“ įtaisas, galintis padėti nustatyti ir ištaisyti kodo klaidas. Paketo naudojimo paprastumas, išplečiamumas ir išsamus įmontuotų įdėklų rinkinys daro jį populiariu daugelio „Go“ kūrėjų pasirinkimu.
„GolangCI Lint“ analizuoja „Go“ šaltinio kodą ir pateikia grįžtamąjį ryšį apie galimas klaidas, saugos problemas ir kodavimo stiliaus pažeidimus, naudodamas didelio našumo analizės ir nuolatinio integravimo (CI) palaikymą.
Vykdykite šią terminalo komandą savo projekto darbo kataloge, kad įdiegtumėte „Golangci-lint“ paketą:
go install github.com/golangci/golangci-lint/cmd/golangci-lint@v1.51.1
Kad komanda įdiegtų paketą, jūsų Go versija turi būti 1.19 arba naujesnė. Taip pat galite patikrinti golangci-lint įrenginiai puslapyje, kuriame rasite kitų galimų diegimo būdų.
Komanda įdiegs „GolangCI“ jūsų sistemoje kaip CLI įrankį. Įdiegimą galite patikrinti naudodami šią komandą:
golangci-lint --version
Komanda turėtų rodyti jūsų įdiegtą golangci-lint versiją.
kaip sužinoti, kas tave užblokavo „Facebook“
„Linter“ konfigūravimas
Linters yra labai universalus , todėl norėdami įdiegti linterį, turėsite sukonfigūruoti linterį savo projektui.
The golangci-lint įrankių naudojimas YAML failai konfigūravimui . YAML faile nurodysite savo linterio nustatymus, kad paketas būtų perskaitytas.
Galite sukurti numatytąjį konfigūracijos failą naudodami šią komandą:
golangci-lint config > .golangci.yml
Komanda sukuria naują failą pavadinimu .golangci.yml dabartiniame kataloge. Galite tęsti šio failo redagavimą, kad sukonfigūruotumėte savo projekto liniją.
Čia yra turinio .golangci.yml failą, kai paleidžiate komandą:
Faile yra informacijos apie golangci-lint įrankį ir parinktis, kurias galite naudoti norėdami konfigūruoti įtraukimo į sąrašą procesą.
facebook prisijungimo prisijungti prie kito vartotojo
Turėsite redaguoti failą, kad pridėtumėte savo programos brūkšnelių taisykles. Visą galimų linierių sąrašą galite rasti adresu golangci-lint Linters dokumentacijos puslapį. Arba galite paleisti padėti linteriai komandą, kad pamatytumėte linteres komandų eilutėje:
golangci-lint help linters
Komanda išveda visus jūsų įdiegto paketo versijos „Linters“.
„Linter“ bėgimas
Pateikiame „Sveikas, pasauli! programa, kuri naudoja net/http paketas:
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)
}
Ši programa apibrėžia a prižiūrėtojas funkcija, kuri paima rašytoją ir užklausa pavyzdžius iš http paketas ResponseWriter ir Prašymas struktūrų tipai. The prižiūrėtojas funkcija rašo 'Sveikas, pasauli!' klientui paprašius.
The pagrindinis funkcija pritvirtina / maršrutas į prižiūrėtojas funkcija ir KlausykIr Tarnaukite funkcija paleidžia serverį per localhost prievadą 8080 .
The KlausykIr Tarnaukite funkcija grąžina klaidą, bet programa ją ignoruoja. Ši konfigūracija užtikrins, kad linteris išryškins problemą:
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
Nustatę šią liniuotės konfigūraciją, galite paleisti liniją naudodami paleisti komanda:
golangci-lint run
# equivalent, runs all programs
golangci-lint run ./...
Arba galite susieti konkrečius failus, nurodydami failo pavadinimą arba kelią po paleisti komanda:
golangci-lint run dir1 dir2/... dir3/file1.go
Štai programos linter paleidimo rezultatas:
The golangci-lint įrankis yra universalus, o jūsų konfigūracija skirsis atsižvelgiant į jūsų projektą.
kodėl mano youtube programa neveikia
Savo „JavaScript“ projektus galite sujungti naudodami ESLint
Linavimas yra populiari programinės įrangos kūrimo užduotis, o daugumoje programavimo kalbų ir IDE yra įrankiai, skirti linijavimo programoms. „JavaScript“ atveju ESLint yra populiariausias „Linter“.
„Eslint“ pateikia kelias klijavimo taisykles, kurios atitinka pramonės standartus CLI, IDE ir teksto rengyklės įrankiuose, todėl linijavimo įrankis yra puikus pasirinkimas „JavaScript“ kūrėjams.