Linters de Go Awesome
Uma lista com curadoria de linters de Go Awesome.
Patrocinado por Golangci: Serviço SaaS para liners de corrida em solicitações de puxão do GitHub. Grátis para código aberto.

Conteúdo
- Linters de nuvem
- Linters
- Formatação de código
- Complexidade do código
- Estilo e verificação de padrões
- Bugs
- Código não utilizado
- Desempenho
- Relatórios
- Misc
- Ferramentas para auxiliares de linters
Linters de nuvem
Vá focado
- GOLANGCI - Serviço SaaS de código aberto para liners de execução nas solicitações de puxão do GitHub. Grátis para código aberto.
- Golint Online - fios on -line Os arquivos de origem Go no Github, Bitbucket e Google Project Hosting usando o pacote Golint.
- Gopherci - Gopherci ajuda a manter projetos GO de alta qualidade, verificando cada solicitação de puxão do Github, para alterações incompatíveis com versões anteriores e um conjunto de outros testes.
- GOT DO RELATÓRIO - GO RELATÓRIO DE RELATÓRIO.
Objetivo geral
- Codeclimate - A plataforma de análise estática aberta e extensível.
- CodeFactor - Análise de código automatizado para repositórios no GitHub ou Bitbucket.
- Houndci - Ferramenta de revisão de código para solicitações de puxão do github
- QuantifiedCode - Revisão e reparo automatizado de código
- Scrutinizer - um verificador de qualidade de código de proprietário que pode ser integrado ao GitHub
- SIDECI - Uma ferramenta automatizada de revisão de código. Melhorando a produtividade dos desenvolvedores.
Linters
Formatação de código
- Dedupimport - Corrija importações duplicadas que possuem o mesmo caminho de importação, mas nomes de importação diferentes.
- GOFMT - Programas GOFMT Formatos GO. Deve ter para cada projeto. Não se esqueça de usar o sinalizador -s.
- GOFUMPT - A ferramenta é um garfo modificado de Gofmt, aplicando um formato mais rigoroso que o Gofmt, sendo compatível com o verso.
- Goimports - Goimports faz tudo o que o Gofmt faz. Além disso, ele verifica as importações não utilizadas.
- UNINDENT - Código de relatório que é desnecessariamente recuado
Complexidade do código
- ABCGO - Métricas ABC para o código -fonte Go.
- Profundidade - Conte a pontuação máxima das funções Go. É útil ver se uma função precisa ser dividida em várias funções menores, para fins de legibilidade.
- Funlen - Linter que verifica funções longas. Ele pode verificar o número de linhas e o número de instruções.
- Gocyclo - calcula e verifica a complexidade ciclomática das funções.
- Nakedret - Nakedret é uma ferramenta de análise estática para encontrar retornos nus nas funções maiores que um comprimento de função especificado.
- Splint - encontra quaisquer funções que sejam muito longas ou tenham muitos parâmetros ou resultados.
Estilo e verificação de padrões
- Dogsled - encontra tarefas/declarações com muitos identificadores em branco.
- Dupl - Ferramenta para detecção de clone de código.
- GO -CHECKSTYLE - Checkstyle é uma ferramenta de verificação de estilo como Java Checkstyle. Esta ferramenta inspirada no Java Checkstyle, Golint. O estilo se referiu a alguns pontos no Go Code Review Comentários.
- Go-C-C-C-C-C-Cleanarch foi criado para validar regras de arquitetura limpa, como uma regra de dependência e interação entre os pacotes em seus projetos Go.
- Analisador de código -fonte que ajuda a tornar seus programas GO mais consistentes.
- GO -NAMECHECK - Analisador de código -fonte que ajuda você a manter convenções de nomeação de variáveis/campo dentro do seu projeto.
- GO-PRINTF-FUNC-NAME-Verifica que as funções do tipo printf são nomeadas com
f
no final. - Go-RuleGuard-Defina e execute regras de linha personalizadas baseadas em padrões.
- GocheckNoinits - Encontre funções iniciantes, para reduzir os efeitos colaterais no código.
- Gochecknoglobals - Encontre VARs globais, para reduzir os efeitos colaterais no código.
- GOCONST - Encontre strings repetidos que possam ser substituídos por uma constante.
- Golint - Golint é um linhador para o código -fonte Go.
- Gosimple - Gosimple é um linhador para o código -fonte Go especializado em simplificar o código.
- IMPI - Verifique o agrupamento e a ordem das importações.
- Interfacer - Linter que sugere tipos de interface mais estreitos.
- LLL - LINGER LINHE LIMPER, usado para aplicar o comprimento da linha nos arquivos.
- Misspell - encontra palavras em inglês comumente incorretas
- nofuncflags - proibir parâmetros booleanos às funções (sinalizadores).
- Preparado - Encontre código de que o Shadows Go integrou os identificadores (por exemplo,
append
, copy
, int
). - Revive - ~ 6x mais rápido, mais rigoroso, configurável, extensível e belo substituto para Golint
- Inconvert - Remova conversões de tipo desnecessário da fonte Go.
- Usado Exports - Encontre em variáveis GO Exportadas que podem ser nãotificadas.
- Espaço de Whitesp - Verifica as novas linhas desnecessárias no início e no final das funções
Bugs
- Apicompat - verifica alterações recentes em um projeto GO para alterações incompatíveis com versões anteriores.
- BadTime - o BadTime é um linhador de Golang que detecta o uso inadequado do tempo.Time Struct.
- BodyClose - verifica se o corpo de resposta http está fechado e uma reutilização de conexão TCP não está bloqueada
- Durcheck - Durcheck é um linhador muito simples que detecta bugs em potencial com o tempo. Duração em um pacote Go.
- Enumcase - Enumcase verifica cada instrução Switch lida com todos os valores const do tipo.
- Enumling - enum liner para tipos enumerados em Go.
- Errcheck - Errcheck é um programa para verificar erros desmarcados nos programas GO.
- GAS - Inspeciona o código -fonte para problemas de segurança, digitalizando o Go Ast.
- GO VET - O veterinário examina o código -fonte Go e relata construções suspeitas, como chamadas Printf cujos argumentos não se alinham com a sequência do formato. Pode verificar o sombreamento das variáveis, mas deve ser ativado explicitamente.
- Gosumcheck - Verifica todos os casos possíveis de comutação de tipo.
- GO-SUMTYPE-Verifica todos os casos possíveis de comutação de tipo.
- MULINT - GO I LINT, que detecta bloqueios recursivos, o que pode levar a fechaduras mortas.
- Ferramenta de análise estática para Golang que protege contra injeções de SQL.
- ScoPelint - Scopelint verifica variáveis não planejadas nos programas GO.
- SQLROWS - Verifica se o fechamento do SQL.ROWS é chamado.
- StaticCheck - O StaticCheck é
go vet
em esteróides, aplicando uma tonelada de verificações de análise estática para a qual você pode estar acostumado a partir de ferramentas como o RESHARPER para C#.
Código não utilizado
- Deadcode - encontra código não utilizado.
- INFEFFASSIGN - Detectar quando as atribuições para variáveis existentes não são usadas.
- Structcheck - Encontre variáveis e constantes globais não utilizadas.
- UNPARAM - relate parâmetros de função não utilizados.
- Não utilizado - verificações não utilizadas vão código para constantes, variáveis, funções e tipos não utilizados.
- Varcheck - Encontre variáveis e constantes globais não utilizadas.
Desempenho
- ALIGNCHECK - Avertir sobre estruturas não otimicamente alinhadas.
- CopyFighter - as análises estaticamente GO Código e relatam funções que estão passando grandes estruturas por valor.
- Ferramenta Malignada para detectar estruturas GO que levariam menos memória se seus campos fossem classificados.
- Pré -Loc - Encontre declarações de fatias que possam ser prealocadas.
- Rangerdanger - ferramenta para detectar declarações de alcance iterando em matrizes endereçáveis
Relatórios
- Flen - Obtenha informações sobre o comprimento das funções em um pacote Go.
- Goreporter - Uma ferramenta de Golang que faz análise estática, teste de unidade, revisão de código e gera relatório de qualidade de código.
- Golinters - Golinters gera relatórios de HTML sobre os linters Go.
Misc
- O aplicativo de console de Go -fora - que exibe pacotes desatualizados.
- GO-TEMPLATE-LINT-GO-TEMPLATE-LINT é um linter para arquivos de modelo de texto/modelo GO (e HTML/modelo).
- Godox - Encontre todos os comentários do TODO/FIXME.
- Lingo - conjunto de verificações específicas.
- Megacheck - Megacheck corre StaticCheck, Gosimple e não utilizado de uma só vez. Como é capaz de reutilizar o trabalho, será mais rápido do que executar cada ferramenta separadamente.
- O Linter de código -fonte Go -Critic - que traz cheques que atualmente não são implementados em outros linheiros.
- TARP - TARP encontra funções e métodos sem testes de unidade direta no código -fonte Go.
- GO -MND - Detector de números mágicos para GO.
- Gocheckit - uma ferramenta GO para ajudar a identificar módulos Go depreciados.
Ferramentas para auxiliares de linters
- Golangci -Lint - Linters Runner para Go. 5x mais rápido que o Gometalinter. Boa saída colorida. Pode relatar apenas novos problemas. Menos falsos positivos. Config Yaml/Toml.
- Gometalinter - Metalinter é uma ferramenta para aplicar automaticamente toda a ferramenta de análise estática e relatar sua saída em forma normalizada.
- Lint - Run Liners como parte do teste GO.
- Revgrep - Filtros de saída de ferramentas de análise estática, mostrando apenas linhas de código alteradas recentemente
- ReviewDog - "ReviewDog" fornece uma maneira de publicar comentários para revisar para o serviço de hospedagem de código, como o GitHub, automaticamente, integrando -se com qualquer ferramenta de linter com facilidade.
- ZB - LINHO SPELEPING BONDO CACHING GOMETALINTER RESULTADO.
- Golintui - Uma interface do usuário do terminal simples para linters Go.