Lectores como tú ayudan a apoyar a MUO. Cuando realiza una compra utilizando enlaces en nuestro sitio, podemos ganar una comisión de afiliado. Leer más.

Linting es un tipo de análisis de código estático para identificar posibles errores en la base de código. Linters analiza el código en busca de errores de sintaxis y problemas de estilo. El proceso puede ayudar a prevenir errores, mejorar la legibilidad, aplicar las mejores prácticas y ahorrar tiempo.

Linting es una práctica estándar en el desarrollo de software. Aunque no hay linter integrado en la biblioteca estándar de Go, existen muchas herramientas de linting de terceros en el ecosistema de Go. Estos incluyen los paquetes GolangCI Lint, Go Meta Linter y Staticcheck.

El paquete de pelusa GolangCI

El paquete golangci-lint es un linter poderoso y flexible para Go que puede ayudarlo a identificar y corregir errores de código. La facilidad de uso, la extensibilidad y el conjunto integral de linters incorporados del paquete lo convierten en una opción popular para muchos desarrolladores de Go.

instagram viewer

GolangCI Lint analiza el código fuente de Go y proporciona comentarios sobre posibles errores, problemas de seguridad y infracciones de estilo de codificación con funcionalidad para análisis de alto rendimiento e integración continua (CI) apoyo.

Ejecute este comando de terminal en el directorio de trabajo de su proyecto para instalar el paquete Golangci-lint:

ve a instalar github.com/golangci/golangci-lint/cmd/[email protected]

Su versión de Go debe ser 1.19 o posterior para que el comando instale el paquete. También puede consultar el instalaciones golangci-lint página para otros métodos de instalación disponibles.

El comando instalará GolangCI en su sistema como una herramienta CLI. Puede verificar la instalación con este comando:

golangci-lint --versión

El comando debería mostrar la versión de golangci-lint que ha instalado.

Configuración del linter

Los linters son muy versátiles., por lo que para instalar un linter, deberá configurar el linter para su proyecto.

El golangci-pelusa usos de herramientas Archivos YAML para configuración. Deberá especificar la configuración de su linter en el archivo YAML para que el paquete lo lea.

Puede crear un archivo de configuración predeterminado con este comando:

configuración de golangci-lint > .golangci.yml

El comando crea un nuevo archivo llamado .golangci.yml en su directorio actual. Puede proceder a editar este archivo para configurar el linter para su proyecto.

Aquí está el contenido de la .golangci.yml archivo cuando ejecuta el comando:

El archivo contiene información sobre el golangci-pelusa herramienta y las opciones que puede utilizar para configurar su proceso de listado.

Deberá editar el archivo para agregar las reglas de linting para su programa. Puede encontrar la lista completa de filtros disponibles en la linters golangci-lint página de documentación. O puede ejecutar el ayuda linters comando para ver los linters en su línea de comando:

golangci-lint ayuda linters

El comando genera todos los Linters disponibles para la versión del paquete que ha instalado.

Ejecutando el Linter

Aquí hay una demostración de pelusa del siguiente "¡Hola, mundo!" programa que utiliza el red/http paquete:

paquete principal

importar (
"fmt"
"red/http"
)

funciónmanipulador(en http. ResponseWriter, r *http. Pedido) {
fmt. Fprintf (w, "¡Hola Mundo!")
}

funciónprincipal() {
http. ManejarFunc("/", manipulador)
http. escucharyservir(":8080", nulo)
}

Este programa define un manipulador función que toma instancias de escritor y solicitud del http paquete escritor de respuestas y Pedido tipos de estructuras. El manipulador La función escribe "¡Hola, mundo!" al cliente a pedido.

El principal la función monta el / ruta a la manipulador función, y la escucharyservir la función inicia el servidor en el puerto localhost 8080.

El escucharyservir La función devuelve un error, pero el programa lo ignora. Esta configuración asegurará que el linter resalte el problema:

configuración de linters:
código muerto:
# ignorar todos los archivos de prueba
omitir archivos: "_prueba\\.ir$"
gobierno:
# deshabilitar el control de seguimiento
sombreado de verificación: FALSO
golin:
# ignorar los errores sobre los nombres de las funciones exportadas
excluir-usar-por defecto-exportado: verdadero

# ignorar errores sobre guiones bajos en paquete nombres
excluir-nombramiento-inútil: verdadero
gosec:
# deshabilite las pruebas de gosec, ya que son lentas y pueden producir FALSO positivos
pruebas: FALSO
no usado:
# informar argumentos de función no utilizados, pero no variables no utilizadas
cheque exportado: verdadero
cheque en blanco: verdadero
pruebas de control: verdadero

Después de establecer esta configuración de linter, puede ejecutar el linter con el correr dominio:

ejecutar golangci-lint

# equivalente, ejecuta todos los programas
golangci-lint ejecutar ./...

Alternativamente, puede filtrar archivos específicos especificando el nombre del archivo o la ruta después del correr dominio:

 golangci-lint ejecutar dir1 dir2/... dir3/archivo1.go

Aquí está el resultado de ejecutar el linter contra el programa:

El golangci-pelusa La herramienta es versátil y su configuración variará según su proyecto.

Puede aplicar Lint a sus proyectos de JavaScript con ESLint

Linting es una tarea de desarrollo de software popular, y la mayoría de los lenguajes de programación e IDE proporcionan herramientas para programas de linting. Para JavaScript, ESLint es el linter más popular.

Eslint proporciona múltiples reglas de linting que siguen los estándares de la industria en las herramientas CLI, IDE y editor de texto, lo que hace que la herramienta de linting sea una excelente opción para los desarrolladores de JavaScript.