Programas Lint Your Go com o pacote GolangCI Lint

Programas Lint Your Go com o pacote GolangCI Lint
Leitores como você ajudam a apoiar o MUO. Quando você faz uma compra usando links em nosso site, podemos ganhar uma comissão de afiliado. Consulte Mais informação.

Linting é um tipo de análise de código estático para identificar possíveis erros de base de código. Os Linters analisam o código em busca de erros de sintaxe e problemas de estilo. O processo pode ajudar a evitar bugs, melhorar a legibilidade, aplicar as melhores práticas e economizar tempo.





Linting é uma prática padrão no desenvolvimento de software. Embora não haja linter embutido na biblioteca padrão do Go, muitas ferramentas de linting de terceiros existem no ecossistema Go. Isso inclui os pacotes GolangCI Lint, Go Meta Linter e Staticcheck.





MAKEUSEDO VÍDEO DO DIA

O pacote GolangCI Lint

  Logotipo GolangCI Lint, um gopher azul segurando um escudo com um inseto desenhado nele

O pacote golangci-lint é um linter poderoso e flexível para Go que pode ajudá-lo a identificar e corrigir erros de código. A facilidade de uso, a extensibilidade e o conjunto abrangente de linters integrados do pacote o tornam uma escolha popular para muitos desenvolvedores Go.





O GolangCI Lint analisa o código-fonte Go e fornece feedback sobre possíveis bugs, problemas de segurança e violações de estilo de codificação com funcionalidade para análise de alto desempenho e suporte à integração contínua (CI).

Execute este comando de terminal no diretório de trabalho do seu projeto para instalar o pacote Golangci-lint:



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

Sua versão do Go deve ser 1.19 ou posterior para que o comando instale o pacote. Você também pode verificar o instalações golangci-lint página para outros métodos de instalação disponíveis.

O comando instalará GolangCI em seu sistema como uma ferramenta CLI. Você pode verificar a instalação com este comando:





o Windows 10 não fica conectado ao wi-fi
 golangci-lint --version 

O comando deve exibir a versão do golangci-lint que você instalou.

Configurando o Linter

Linters são muito versáteis , portanto, para instalar um linter, você terá que configurar o linter para o seu projeto.





O golangci-lint ferramenta usa Arquivos YAML para configuração . Você especificará as configurações do seu linter no arquivo YAML para o pacote ler.

Você pode criar um arquivo de configuração padrão usando este comando:

 golangci-lint config > .golangci.yml 

O comando cria um novo arquivo chamado .golangci.yml em seu diretório atual. Você pode editar este arquivo para configurar o linter para o seu projeto.

Aqui está o conteúdo do .golangci.yml arquivo ao executar o comando:

  Instruções de uso do arquivo YAML Golangci-lint

O arquivo contém informações sobre o golangci-lint ferramenta e as opções que você pode usar para configurar seu processo de listagem.

melhor lugar para comprar camisas online

Você precisará editar o arquivo para adicionar as regras de linting para o seu programa. Você pode encontrar a lista completa de linters disponíveis no golangci-lint linters página de documentação. Ou você pode executar o linters de ajuda comando para visualizar os linters em sua linha de comando:

 golangci-lint help linters 

O comando gera todos os Linters disponíveis para a versão do pacote que você instalou.

  resultado da execução do comando help no Golangci-lint

Executando o Linter

Aqui está uma demonstração de linting do seguinte 'Hello, World!' programa que usa o rede/http pacote:

 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)
}

Este programa define um manipulador função que recebe as instâncias do gravador e da solicitação do http pacote de ResponseWriter e Solicitar tipos de struct. O manipulador A função escreve “Hello, World!” ao cliente a pedido.

O principal função monta o / rota para o manipulador função, e o OuvirEServir função inicia o servidor na porta localhost 8080 .

como conectar um wii a uma smart tv

O OuvirEServir A função retorna um erro, mas o programa o ignora. Essa configuração garantirá que o linter destaque o problema:

 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

Depois de definir essa configuração do linter, você pode executar o linter com o correr comando:

 golangci-lint run 

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

Como alternativa, você pode lintar arquivos específicos especificando o nome do arquivo ou o caminho após o correr comando:

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

Aqui está o resultado da execução do linter no programa:

  resultado da execução do linter em um programa http

O golangci-lint A ferramenta é versátil e sua configuração varia de acordo com seu projeto.

Você pode fazer o Lint de seus projetos JavaScript com o ESLint

Linting é uma tarefa de desenvolvimento de software popular, e a maioria das linguagens de programação e IDEs fornecem ferramentas para programas de linting. Para JavaScript, ESLint é o linter mais popular.

O Eslint fornece várias regras de linting que seguem os padrões do setor nas ferramentas CLI, IDE e editor de texto, tornando a ferramenta linting uma ótima opção para desenvolvedores de JavaScript.