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
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:
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.
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:
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.