Qu'est-ce que «Linting»?

1094

PHPLint , JSLint et moi sommes récemment tombés sur "vous pouvez peloter votre code JS à la volée" en lisant quelque chose sur un IDE .

Alors, quelle est cette peluche que tout le monde connaît sauf moi?

Ashkan Kh. Nazary
la source
6
Je n'entends ce terme que depuis que le code Visual Studio est devenu une chose. avant c'était juste "intellisense". Même si ce terme remonte à 1978 de wikipedia, il me semble qu'il n'a été populaire que récemment.
v.oddou

Réponses:

1078

Le peluchage est le processus d'exécution d'un programme qui analysera le code pour détecter d'éventuelles erreurs.

Voir les peluches sur wikipedia:

lint était le nom donné à l'origine à un programme particulier qui signalait certaines constructions suspectes et non portables (susceptibles d'être des bogues) dans le code source du langage C. Le terme est désormais appliqué de manière générique aux outils qui signalent une utilisation suspecte dans un logiciel écrit dans n'importe quel langage informatique.

Oded
la source
140
Citer de wikipedia - "Le terme est dérivé du nom des morceaux indésirables de fibres et de peluches trouvés dans la laine de mouton."
tan9
17
@HasanBaidoon - il signale simplement les violations d'une politique de style, n'agit pas nécessairement en leur nom au nom de l'utilisateur.
Oded
Le stylecop serait-il considéré comme un linter?
Adam Plocher
1
@Adam - généralement un linter aurait également la possibilité de corriger automatiquement les problèmes qu'il a trouvés.
Odé
@AdamPlocher Oui, ça l'est. "StyleCop est un lintereur C # qui applique les directives de style." github.com/mcandre/linters
mbomb007
184

Lint était le nom d'un programme qui passerait par votre code C et identifierait les problèmes avant de le compiler, de le lier et de l'exécuter. C'était un vérificateur statique, un peu comme FindBugs aujourd'hui pour Java.

Comme Google, "lint" est devenu un verbe qui signifiait une vérification statique de votre code source.

duffymo
la source
122

Le peluchage est le processus de vérification du code source pour les erreurs programmatiques et stylistiques. Cela est très utile pour identifier certaines erreurs courantes et rares qui sont commises lors du codage.

A Lintou a Linterest un programme qui prend en charge le peluchage (vérification de la qualité du code). Ils sont disponibles pour la plupart des langages comme JavaScript, CSS, HTML, Python, etc.

Certains des linters utiles sont JSLint , CSSLint , JSHint , Pylint

VSri58
la source
52

Outre ce que d'autres ont mentionné, je voudrais ajouter que, Linting parcourra votre code source pour trouver

 -  formatting discrepancy 
 -  non-adherence to coding standards and conventions 
 -  pinpointing possible logical errors in your program

L'exécution d'un programme Lint sur votre code source permet de garantir que le code source est lisible, lisible, moins pollué et plus facile à entretenir.

Mangu Singh Rajpurohit
la source
27

lint est un outil qui est utilisé pour marquer le code source avec des éléments suspects et non structurels (peut provoquer un bogue). C'est un outil d'analyse de code statique en C au début, devenu le terme générique utilisé pour décrire l'outil d'analyse de logiciel qui marque le code suspect.

Marcus Thornton
la source
20

Les langages interprétés comme Python et JavaScript bénéficient grandement du peluchage, car ces langages n'ont pas de phase de compilation pour afficher les erreurs avant l'exécution.

Les linters sont également utiles pour le formatage du code et / ou le respect des meilleures pratiques spécifiques à la langue.

Dernièrement, j'utilise ESLint pour JS / React et je vais parfois l'utiliser avec un fichier airbnb-config .

JSON C11
la source
3

Le linting est un processus par un programme linter qui analyse le code source dans un langage de programmation particulier et signale les problèmes potentiels tels que les erreurs de syntaxe, les écarts par rapport à un style de codage prescrit ou l'utilisation de constructions connues pour être dangereuses.

Par exemple, un linter JavaScript marquerait la première utilisation de parseInt ci-dessous comme non sûre:

// without a radix argument - Unsafe
var count = parseInt(countString);

// with a radix paremeter specified - Safe
var count = parseInt(countString, 10);
RajeshK
la source