Le peluchage est un type d'analyse de code statique permettant d'identifier les erreurs potentielles de la base de code. Les linters analysent le code pour les erreurs de syntaxe et les problèmes de style. Le processus peut aider à prévenir les bogues, à améliorer la lisibilité, à appliquer les meilleures pratiques et à gagner du temps.
Le linting est une pratique courante dans le développement de logiciels. Bien qu'il n'y ait pas de linter intégré dans la bibliothèque standard de Go, de nombreux outils de lint tiers existent dans l'écosystème Go. Ceux-ci incluent les packages GolangCI Lint, Go Meta Linter et Staticcheck.
Le paquet GolangCI Lint
Le paquet golangci-lint est un linter puissant et flexible pour Go qui peut vous aider à identifier et corriger les erreurs de code. La facilité d'utilisation, l'extensibilité et l'ensemble complet de linters intégrés du package en font un choix populaire pour de nombreux développeurs Go.
GolangCI Lint analyse le code source de Go et fournit des commentaires sur les bogues potentiels, les problèmes de sécurité et codage des violations de style avec une fonctionnalité d'analyse haute performance et d'intégration continue (CI) soutien.
Exécutez cette commande de terminal dans le répertoire de travail de votre projet pour installer le package Golangci-lint :
allez installer github.com/golangci/golangci-lint/cmd/[email protected]
Votre version de Go doit être 1.19 ou ultérieure pour que la commande installe le package. Vous pouvez également vérifier le installations golangci-lint page pour les autres méthodes d'installation disponibles.
La commande installera GolangCI sur votre système en tant qu'outil CLI. Vous pouvez vérifier l'installation avec cette commande :
golangci-lint --version
La commande doit afficher la version de golangci-lint que vous avez installée.
Configuration du Linter
Les linters sont très polyvalents, donc pour installer un linter, vous devrez configurer le linter pour votre projet.
Le golangci-lint utilisations d'outils Fichiers YAML pour la configuration. Vous spécifierez les paramètres de votre linter dans le fichier YAML pour que le package lise.
Vous pouvez créer un fichier de configuration par défaut à l'aide de cette commande :
golangci-lint config > .golangci.yml
La commande crée un nouveau fichier nommé .golangci.yml dans votre répertoire courant. Vous pouvez procéder à la modification de ce fichier pour configurer le linter pour votre projet.
Voici le contenu du .golangci.yml fichier lorsque vous exécutez la commande :
Le fichier contient des informations sur le golangci-lint outil et les options que vous pouvez utiliser pour configurer votre processus de référencement.
Vous devrez modifier le fichier pour ajouter les règles de peluchage de votre programme. Vous trouverez la liste complète des linters disponibles sur le golangci-lint Linters page documentaire. Ou vous pouvez exécuter le aider les linters commande pour afficher les linters sur votre ligne de commande :
golangci-lint aide linters
La commande affiche tous les Linters disponibles pour la version du package que vous avez installé.
Exécution du Linter
Voici une démonstration de linting suivant "Hello, World!" programme qui utilise le réseau/http emballer:
emballer principal
importer (
"fmt"
"net/http"
)fonctiongestionnaire(w http. ResponseWriter, r *http. Demande) {
fmt. Fprintf (w, "Bonjour le monde!")
}
fonctionprincipal() {
http. HandleFunc("/", gestionnaire)
http. EcouteEtServe(":8080", néant)
}
Ce programme définit une gestionnaire fonction qui accepte les instances de l'écrivain et de la requête à partir du http paquets ResponseWriter et Demande types de structure. Le gestionnaire fonction écrit "Hello, World!" au client sur demande.
Le principal fonction monte le / itinéraire vers le gestionnaire fonction, et la ÉcouterEtServir la fonction démarre le serveur sur le port localhost 8080.
Le ÉcouterEtServir La fonction renvoie une erreur, mais le programme l'ignore. Cette configuration garantira que le linter met en évidence le problème :
linters-settings :
code mort :
# ignorer tous les fichiers de test
sauter-fichiers: "_test\\.go$"
govet :
# désactiver la vérification de l'observation
check-shadowing: FAUX
golin :
# ignorer les erreurs concernant les noms de fonction exportés
exclure-utiliser-défaut-exporté: vrai
# ignorer les erreurs concernant les traits de soulignement dans emballer des noms
exclusion-de-nommage-inutile: vrai
gosec :
# désactiver les tests gosec, car ils sont lents et peuvent produire FAUX les points positifs
essais: FAUX
inutilisé:
# rapporte les arguments de fonction inutilisés, mais pas les variables inutilisées
check-exporté: vrai
chèque en blanc: vrai
contrôles-tests: vrai
Après avoir défini cette configuration de linter, vous pouvez exécuter le linter avec le courir commande:
course golangci-lint
# équivalent, exécute tous les programmes
golangci-lint run ./...
Alternativement, vous pouvez pelucher des fichiers spécifiques en spécifiant le nom ou le chemin du fichier après le courir commande:
golangci-lint run dir1 dir2/... dir3/fichier1.go
Voici le résultat de l'exécution du linter par rapport au programme :
Le golangci-lint L'outil est polyvalent et votre configuration variera en fonction de votre projet.
Vous pouvez pelucher vos projets JavaScript avec ESLint
Le linting est une tâche de développement de logiciels populaire, et la plupart des langages de programmation et des IDE fournissent des outils pour les programmes de linting. Pour JavaScript, ESLint est le linter le plus populaire.
Eslint fournit plusieurs règles de linting qui suivent les normes de l'industrie dans les outils CLI, IDE et éditeur de texte, faisant de l'outil de linting un excellent choix pour les développeurs JavaScript.