Lint Your Go programmas ar GolangCI Lint pakotni

Lint Your Go programmas ar GolangCI Lint pakotni
Tādi lasītāji kā jūs palīdz atbalstīt MUO. Veicot pirkumu, izmantojot saites mūsu vietnē, mēs varam nopelnīt filiāles komisiju. Lasīt vairāk.

Linting ir statiskā koda analīzes veids, lai identificētu iespējamās kodu bāzes kļūdas. Linters analizē kodu, lai noteiktu sintakses kļūdas un stila problēmas. Šis process var palīdzēt novērst kļūdas, uzlabot lasāmību, ieviest labāko praksi un ietaupīt laiku.





Lining ir standarta prakse programmatūras izstrādē. Lai gan Go standarta bibliotēkā nav iebūvēta lintera, Go ekosistēmā pastāv daudzi trešo pušu pūderēšanas rīki. Tie ietver GolangCI Lint, Go Meta Linter un Staticcheck pakotnes.





DIENAS VIDEO MAKEUSEOF

GolangCI Lint iepakojums

  GolangCI Lint logotips — zils gofers, kam ir vairogs ar uzzīmētu kļūdu

Golangci-lint iepakojums ir jaudīgs un elastīgs Go linter, kas var palīdzēt identificēt un labot koda kļūdas. Komplekta lietošanas vienkāršība, paplašināmība un visaptverošais iebūvēto ieliktņu komplekts padara to par populāru izvēli daudziem Go izstrādātājiem.





GolangCI Lint analizē Go pirmkodu un sniedz atsauksmes par iespējamām kļūdām, drošības problēmām un kodēšanas stila pārkāpumiem, izmantojot augstas veiktspējas analīzes un nepārtrauktas integrācijas (CI) atbalsta funkcionalitāti.

Palaidiet šo termināļa komandu sava projekta darba direktorijā, lai instalētu Golangci-lint pakotni:



 go install github.com/golangci/golangci-lint/cmd/golangci-lint@v1.51.1 

Lai komanda varētu instalēt pakotni, jūsu Go versijai ir jābūt 1.19 vai jaunākai. Varat arī pārbaudīt golangci-lint iekārtas lapā, lai uzzinātu par citām pieejamajām instalēšanas metodēm.

Komanda instalēs GolangCI jūsu sistēmā kā CLI rīku. Jūs varat pārbaudīt instalēšanu ar šo komandu:





kas ir ar zonas lietotne manā tālrunī
 golangci-lint --version 

Komandai jāparāda instalētā golangci-lint versija.

Linter konfigurēšana

Linteres ir ļoti daudzpusīgas , tāpēc, lai uzstādītu līnijpārvadātāju, jums tas ir jākonfigurē savam projektam.





The golangci-lint rīku lietojumi YAML faili konfigurācijai . Jūs norādīsiet savus lintera iestatījumus YAML failā, lai pakotne tiktu lasīta.

Varat izveidot noklusējuma konfigurācijas failu, izmantojot šo komandu:

 golangci-lint config > .golangci.yml 

Komanda izveido jaunu failu ar nosaukumu .golangci.yml jūsu pašreizējā direktorijā. Varat turpināt rediģēt šo failu, lai savam projektam konfigurētu linteri.

Lūk, saturs .golangci.yml failu, kad palaižat komandu:

  Golangci-lint YAML faila lietošanas instrukcijas

Fails satur informāciju par golangci-lint rīku un opcijas, ko varat izmantot, lai konfigurētu ierakstīšanas procesu.

Jums būs jārediģē fails, lai pievienotu savai programmai šķelšanās noteikumus. Pilnu pieejamo līkumu sarakstu varat atrast vietnē golangci-lint Linters dokumentācijas lapa. Vai arī varat palaist palīdzēt linters komandu, lai skatītu līkumus savā komandrindā:

 golangci-lint help linters 

Komanda izvada visus Linters, kas pieejami jūsu instalētās pakotnes versijai.

izveidot sāknējamu Windows 7 usb
  Palīdzības komandas palaišanas rezultāts vietnē Golangci-lint

Lintera palaišana

Šeit ir demonstrācija, kā uzvilkt šādu tekstu “Sveika, pasaule!” programma, kas izmanto net/http iepakojums:

kā no iso izveidot bootable dvd
 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)
}

Šī programma definē a apdarinātājs funkcija, kas uzņem rakstītāju un pieprasa gadījumus no http iepakojums ResponseWriter un Pieprasīt konstrukciju veidi. The apdarinātājs funkcija raksta 'Sveika, pasaule!' klientam pēc pieprasījuma.

The galvenais funkcija piestiprina / maršruts uz apdarinātājs funkcija un Klausieties un kalpojiet funkcija startē serveri localhost portā 8080 .

The Klausieties un kalpojiet funkcija atgriež kļūdu, bet programma to ignorē. Šī konfigurācija nodrošinās, ka linter izceļ problēmu:

 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

Pēc šīs ieliktņa konfigurācijas iestatīšanas varat palaist līkumu ar palaist komanda:

 golangci-lint run 

# equivalent, runs all programs
golangci-lint run ./...

Varat arī izvilkt konkrētus failus, norādot faila nosaukumu vai ceļu aiz palaist komanda:

  golangci-lint run dir1 dir2/... dir3/file1.go

Lintera palaišanas pret programmu rezultāts ir šāds:

  rezultāts, palaižot linteru http programmā

The golangci-lint rīks ir daudzpusīgs, un jūsu konfigurācija atšķirsies atkarībā no jūsu projekta.

Jūs varat izveidot savus JavaScript projektus, izmantojot ESLint

Lining ir populārs programmatūras izstrādes uzdevums, un vairums programmēšanas valodu un IDE nodrošina rīkus programmu izvilkšanai. Programmai JavaScript ESLint ir vispopulārākais līnijs.

Eslint nodrošina vairākus pievilkšanas noteikumus, kas atbilst nozares standartiem CLI, IDE un teksta redaktora rīkos, padarot linting rīku par lielisku izvēli JavaScript izstrādātājiem.