I lettori come te aiutano a sostenere MUO. Quando effettui un acquisto utilizzando i link sul nostro sito, potremmo guadagnare una commissione di affiliazione. Per saperne di più.

Linting è un tipo di analisi statica del codice per l'identificazione di potenziali errori della base di codice. I linter analizzano il codice per errori di sintassi e problemi di stile. Il processo può aiutare a prevenire bug, migliorare la leggibilità, applicare le migliori pratiche e risparmiare tempo.

Linting è una pratica standard nello sviluppo del software. Sebbene nella libreria standard di Go non sia integrato alcun linter, nell'ecosistema di Go esistono molti strumenti di lint di terze parti. Questi includono i pacchetti GolangCI Lint, Go Meta Linter e Staticcheck.

Il pacchetto GolangCI Lint

Il pacchetto golangci-lint è un linter potente e flessibile per Go che può aiutarti a identificare e correggere gli errori di codice. La facilità d'uso, l'estensibilità e il set completo di linter integrati del pacchetto lo rendono una scelta popolare per molti sviluppatori Go.

instagram viewer

GolangCI Lint analizza il codice sorgente di Go e fornisce feedback su potenziali bug, problemi di sicurezza e violazioni dello stile di codifica con funzionalità per analisi ad alte prestazioni e integrazione continua (CI) supporto.

Esegui questo comando da terminale nella directory di lavoro del tuo progetto per installare il pacchetto Golangci-lint:

vai a installare github.com/golangci/golangci-lint/cmd/[email protected]

La tua versione Go deve essere 1.19 o successiva affinché il comando installi il pacchetto. Puoi anche controllare il installazioni golangci-lint pagina per altri metodi di installazione disponibili.

Il comando installerà GolangCI sul tuo sistema come strumento CLI. Puoi verificare l'installazione con questo comando:

golangci-lint --versione

Il comando dovrebbe visualizzare la versione di golangci-lint che hai installato.

Configurazione del Linter

I linter sono molto versatili, quindi per installare un linter, dovrai configurare il linter per il tuo progetto.

IL golangci-lint utilizza lo strumento File YAML per la configurazione. Dovrai specificare le impostazioni del tuo linter nel file YAML per il pacchetto da leggere.

Puoi creare un file di configurazione predefinito usando questo comando:

configurazione golangci-lint > .golangci.yml

Il comando crea un nuovo file denominato .golangci.yml nella tua directory corrente. Puoi procedere alla modifica di questo file per configurare il linter per il tuo progetto.

Ecco il contenuto del .golangci.yml file quando esegui il comando:

Il file contiene informazioni sul golangci-lint strumento e le opzioni che puoi utilizzare per configurare il tuo processo di quotazione.

Dovrai modificare il file per aggiungere le regole di linting per il tuo programma. Puoi trovare l'elenco completo dei linter disponibili su golangci-lint Linters pagina della documentazione. Oppure puoi eseguire il file aiuta i linter comando per visualizzare i linter sulla riga di comando:

golangci-lint aiuta i linters

Il comando emette tutti i Linter disponibili per la versione del pacchetto che hai installato.

Esecuzione del Linter

Ecco una dimostrazione del linting del seguente "Hello, World!" programma che utilizza il rete/http pacchetto:

pacchetto principale

importare (
"fmt"
"rete/http"
)

funzgestore(whttp. ResponseWriter, r *http. Richiesta) {
fmt. Fprintf (w, "Ciao mondo!")
}

funzprincipale() {
http. HandleFunc("/", gestore)
http. AscoltaEServi(":8080", zero)
}

Questo programma definisce a gestore funzione che accetta istanze di writer e request da http Pacchetti ResponseWriter E Richiesta tipi di struttura. IL gestore la funzione scrive "Hello, World!" al cliente su richiesta.

IL principale funzione monta il / rotta verso il gestore funzione, e il Ascolta e servi la funzione avvia il server sulla porta localhost 8080.

IL Ascolta e servi La funzione restituisce un errore, ma il programma lo ignora. Questa configurazione assicurerà che il linter evidenzi il problema:

impostazioni linters:
codice morto:
# ignora tutti i file di test
skip-file: "_prova\\.vai$"
governo:
# disabilita il controllo dello shadowing
check-shadowing: falso
golint:
# ignora gli errori sui nomi delle funzioni esportate
escludere-uso-predefinito-esportato: VERO

# ignora gli errori relativi agli underscore in pacchetto nomi
escludere-nome-inutile: VERO
gosec:
# disabilita i test gosec, poiché sono lenti e possono produrre falso positivi
test: falso
inutilizzato:
# riporta gli argomenti delle funzioni inutilizzate, ma non le variabili inutilizzate
assegno esportato: VERO
spunta in bianco: VERO
test di controllo: VERO

Dopo aver impostato questa configurazione del linter, puoi eseguire il linter con il file correre comando:

corsa golangci-lint

# equivalente, esegue tutti i programmi
golangci-lint run ./...

In alternativa, puoi filtrare file specifici specificando il nome del file o il percorso dopo il file correre comando:

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

Ecco il risultato dell'esecuzione del linter contro il programma:

IL golangci-lint lo strumento è versatile e la tua configurazione varierà in base al tuo progetto.

Puoi filtrare i tuoi progetti JavaScript con ESLint

Il linting è un'attività di sviluppo software popolare e la maggior parte dei linguaggi di programmazione e degli IDE fornisce strumenti per i programmi di lint. Per JavaScript, ESLint è il linter più popolare.

Eslint fornisce più regole di linting che seguono gli standard del settore negli strumenti CLI, IDE e dell'editor di testo, rendendo lo strumento di linting un'ottima scelta per gli sviluppatori JavaScript.