Linters impresionantes Go
Una lista curada de impresionantes revestimientos Go.
Patrocinado por Golangci: Servicio SaaS para ejecutar las líneas en las solicitudes de GitHub Pull. Gratis para código abierto.

Contenido
- Revestimiento de nubes
- Centrarse
- Propósito general
- Treñeras
- Formato de código
- Complejidad del código
- Verificación de estilo y patrones
- Insectos
- Código no utilizado
- Actuación
- Informes
- Maga
- Herramientas auxiliares
Revestimiento de nubes
Centrarse
- Golangci - Servicio SaaS de código abierto para ejecutar los forros en las solicitudes de GitHub Pull. Gratis para código abierto.
- Golint Online: archivos de origen en línea en línea en GitHub, Bitbucket y Google Project Hosting utilizando el paquete Golint.
- Gopherci: Gopherci lo ayuda a mantener proyectos GO de alta calidad, al verificar cada solicitud de tirón de GitHub, para cambios incompatibles hacia atrás y un conjunto de otras pruebas.
- GO Report Bend - Vaya boleta de calificaciones de repos.
Propósito general
- CodeClimate: la plataforma de análisis estático abierto y extensible.
- CodeFactor: análisis de código automatizado para repositorios en GitHub o Bitbucket.
- HoundCI - Herramienta de revisión de código para solicitudes de extracción de GitHub
- Cuantificado Code - Revisión y reparación del código automatizado
- Scrutinizer: un verificador de calidad de código de propiedad que se puede integrar con GitHub
- Sideci: una herramienta de revisión de código automatizado. Mejora de la productividad de los desarrolladores.
Treñeras
Formato de código
- DedupImport: arregle las importaciones duplicadas que tienen la misma ruta de importación pero diferentes nombres de importación.
- GOFMT - Formatos GOFMT GO Programas. Debe tener para cada proyecto. No olvides usar la bandera -s.
- GOFUMPT: la herramienta es una bifurcación modificada de GoFMT, que impulsa un formato más estricto que GOFMT, mientras que es compatible con versiones anteriores.
- GOIMPORTS - Goimports hace todo lo que hace GoFMT. Además, verifica las importaciones no utilizadas.
- Undent - Código de informes que tiene una sangría innecesariamente
Complejidad del código
- ABCGO - Código fuente de ABC Métricas para GO.
- Profundidad: cuente el máximo de las funciones de GO. Es útil ver si una función debe dividirse en varias funciones más pequeñas, para un propósito de legibilidad.
- Funlen - Linter que verifica funciones largas. Puede verificar tanto el número de líneas como el número de declaraciones.
- Gocyclo: calcula y verifica la complejidad ciclomática de las funciones.
- Nakedret: NakedRet es una herramienta de análisis estático para encontrar retornos desnudos en funciones mayores que una longitud de función especificada.
- Férprugs: encuentra cualquier función que sea demasiado larga o que tengan demasiados parámetros o resultados.
Verificación de estilo y patrones
- Dogsled: encuentra tareas/declaraciones con demasiados identificadores en blanco.
- DUPL - Herramienta para la detección de clonos de código.
- Go CheckStyle - CheckStyle es una herramienta de verificación de estilo como Java CheckStyle. Esta herramienta inspirada en Java CheckStyle, Golint. El estilo se refiere a algunos puntos en los comentarios de revisión del código GO.
- GO-CLEANARC-GO-CLEANARCH fue creado para validar las reglas de arquitectura limpia, como la regla de dependencia y la interacción entre los paquetes en sus proyectos GO.
- GO consistente: analizador de código fuente que lo ayuda a hacer que sus programas GO sean más consistentes.
- Go -Namecheck - Analizador de código fuente que lo ayuda a mantener convenciones de nombres variables/de campo dentro de su proyecto.
- GO-PRINTF-FUNC-NAME: verifica que las funciones de forma de impresión se llaman con
f
al final. - GO-RULEGUARD: define y ejecute reglas de pelusa personalizadas basadas en patrones.
- GOCHECKNOINITS: encuentre funciones init, para reducir los efectos secundarios en el código.
- GOCHECKNOGLOBALS - Encuentre Vars globales, para reducir los efectos secundarios en el código.
- Goconst: encuentre en las cuerdas repetidas que podrían ser reemplazadas por una constante.
- Golint: Golint es un enlace para el código fuente de GO.
- GOSIMPLE - Gosimple es un código fuente de Línea para GO que se especializa en simplificar el código.
- IMPI - Verifique la agrupación y el pedido de las importaciones.
- Interfacer: un linter que sugiere tipos de interfaz más estrechos.
- LLL - Lante de longitud de línea, utilizado para hacer cumplir la longitud de línea en los archivos.
- Misspell - Encuentra palabras en inglés comúnmente mal escritas
- NOFUNCFLAGS - No permita los parámetros booleanos a las funciones (banderas).
- Predeclarado: encuentre el código que las sombras de los identificadores incorporados de Go GO (por ejemplo,
append
, copy
, int
). - Revive - ~ 6x más rápido, más estricto, configurable, extensible y hermoso reemplazo de golints para Golint
- Desconcvertir: elimine las conversiones de tipo innecesarias de la fuente GO.
- UsedExports: encuentre variables exportadas en GO que puedan ser no exportadas.
- Whitespace: verifica nuevas líneas innecesarias al comienzo y al final de las funciones
Insectos
- Apicompat: verifica los cambios recientes en un proyecto GO para cambios incompatibles hacia atrás.
- Badtime: Badtime es un enlace de Golang que detecta el uso inapropiado del tiempo.
- BodyClose: verifica si el cuerpo de respuesta HTTP está cerrado y una reutilización de la conexión TCP no está bloqueada
- Durcheck - Durcheck es un enlace muy simple que detecta posibles errores con el tiempo. Duración en un paquete GO.
- Enumcase - Enumcase verifica cada instrucción Switch maneja todos los valores constante del tipo.
- Enumlinter - ENUMPLE para tipos enumerados en GO.
- ERRCHECK - ERRCHECK es un programa para verificar los errores sin control en los programas GO.
- Gas: inspecciona el código fuente de problemas de seguridad escaneando el AST.
- VET VET: el veterinario examina el código fuente de GO e informa construcciones sospechosas, como las llamadas printf cuyos argumentos no se alinean con la cadena de formato. Puede verificar el sombreado de las variables, pero debe habilitarse explícitamente.
- GosumCheck: se manejan todos los casos posibles de cambio de tipo.
- GO-Sumtype: se manejan todos los casos posibles de cambio de tipo.
- Mulint - GO LINT que detecta cerraduras recursivas, lo que puede conducir a cerraduras muertas.
- SAFESQL - Herramienta de análisis estático para Golang que protege contra las inyecciones de SQL.
- SCOPELINT - SCOPELINT COMPRESAS PARA VARIABLES NO PARA LAS PROGRAMAS IN GO.
- SQLROWS: verifica si se llama al cierre en SQL.rows.
- StaticCheck: StaticCheck es
go vet
en esteroides, aplicando una tonelada de controles de análisis estático a los que podría estar acostumbrado desde herramientas como Resharper para C#.
Código no utilizado
- DeadCode - encuentra código no utilizado.
- ineffassign: detecte cuándo no se utilizan asignaciones a variables existentes.
- StructCheck: encuentre variables y constantes globales no utilizadas.
- Unteram - Informe parámetros de función no utilizada.
- No utilizado: los cheques no utilizados van al código para constantes, variables, funciones y tipos no utilizados.
- Varcheck: encuentre variables y constantes globales no utilizadas.
Actuación
- Aligncheck: advierta sobre las estructuras no óptimas alineadas.
- Copyfighter: analiza estáticamente el código GO e informa funciones que están pasando grandes estructuras por valor.
- Malignado: herramienta para detectar estructuras GO que tomarían menos memoria si sus campos se ordenaran.
- PreAlloc: encuentre declaraciones de corte que podrían ser preellocadas.
- RangerDanger: herramienta para detectar declaraciones de rango que iteran sobre matrices direccionables
Informes
- Flen: obtenga información sobre la longitud de las funciones en un paquete GO.
- GORPORTER: una herramienta Golang que realiza análisis estático, pruebas unitarias, revisión del código y generar un informe de calidad del código.
- Golinters: Golinters genera informes de HTML sobre los revestimientos GO.
Maga
- Entrada: aplicación de consola que muestra paquetes obsoletos.
- GO-Template-Lint-GO-Template-Lint es un linter para los archivos de plantilla de texto/plantilla (y plantilla html/plantilla).
- GOODOX - Encuentra todos los comentarios de TODO/FixMe.
- Lingo: conjunto de verificaciones específicas.
- MEGACHECK - Megacheck ejecuta StaticCheck, Gosimple y sin usar a la vez. Debido a que es capaz de reutilizar el trabajo, será más rápido que ejecutar cada herramienta por separado.
- GO -CRITIC - Línea de código fuente que trae verificaciones que actualmente no se implementan en otras deleras.
- TARP: TARP encuentra funciones y métodos sin pruebas unitarias directas en el código fuente de GO.
- Go -MND - Detector de números mágicos para Go.
- GOCHECKIT: una herramienta GO para ayudar a identificar módulos de GO en desacuerdo.
Herramientas auxiliares
- Golangci -Lint - Linters Runner para Go. 5x más rápido que Gometalinter. Bonita salida de color. Puede informar solo nuevos problemas. Menos falsos positivos. Configuración YAML/TOML.
- Gometalinter: Metalinter es una herramienta para aplicar automáticamente toda la herramienta de análisis estático e informar su salida en forma normalizada.
- Lint - Ejecute los revestimientos como parte de la prueba GO.
- Revgrep - Filtros de salida de herramientas de análisis estático, que muestra solo recientemente líneas de código cambiadas
- ReviewDog - "ReviewDog" proporciona una forma de publicar comentarios de revisión al servicio de alojamiento de códigos, como GitHub, automáticamente integrándose con cualquier herramienta de lintería con facilidad.
- ZB: la pelusa de aceleración al almacenar en caché el resultado de Gometalinter.
- Golintui: una interfaz de usuario de terminal simple para linters.