Che cos'è "Linting"?


660

PHPLint, JSLint e io ci siamo recentemente imbattuti in "puoi filtrare il tuo codice JS al volo" mentre leggi qualcosa su qualche IDE.

Quindi, cos'è questo linting che tutti conoscono tranne me?

688

Linting è il processo di esecuzione di un programma che analizzerà il codice per potenziali errori.

Vedi lint su wikipedia:

lint era il nome in origine dato ad un particolare programma che contrassegnato alcuni costrutti sospetti e non portatili (che potrebbero essere i bug) nel codice sorgente in linguaggio C. Il termine è ora applicato in modo generico agli strumenti che segnalano l'utilizzo sospetto nel software scritto in qualsiasi linguaggio del computer.

+49

Cita da [wikipedia] (https://en.wikipedia.org/wiki/Lint_ (software)) - _ "Il termine deriva dal nome dei ** bit indesiderati di fibra e lanuggine ** trovati in lana di pecora. "_ 21 lug. 162016-07-21 05:39:04

  0

Quindi un linter non è necessariamente un formattatore automatico? 15 giu. 172017-06-15 14:52:30

+3

@HasanBaidoon - semplicemente riporta le violazioni di una politica stile, non necessariamente agire su di essi per conto dell'utente. 15 giu. 172017-06-15 14:53:08

  0

Sarebbe StyleCop essere considerato un linter? 15 ago. 172017-08-15 13:13:51

  0

@ Adamo - di solito un Linter avrebbe anche la possibilità di problemi di auto-fix ha trovato. 15 ago. 172017-08-15 13:48:05


125

Lint era il nome di un programma che passava attraverso il codice C e identificava i problemi prima di compilarlo, collegarlo e eseguirlo. Era un correttore statico, molto simile a FindBugs oggi per Java.

Come Google, "lint" è diventato un verbo che significava controllo statico del codice sorgente.


24

lint è uno strumento utilizzato per contrassegnare il codice sorgente con alcuni sospetti e non strutturali (può causare bug). È uno strumento di analisi del codice statico in C all'inizio. Ora è diventato il termine generico utilizzato per descrivere lo strumento di analisi del software che contrassegna il codice sospetto.


78

Linting è il processo di controllo del codice sorgente per errori programmatici e stilistici. Questo è molto utile per identificare alcuni errori comuni e non comuni che vengono fatti durante la codifica.

A Lint o Linter è un programma che supporta il linting (verifica della qualità del codice). Sono disponibili per la maggior parte dei linguaggi come JavaScript, CSS, HTML, Python, ecc ..

Alcuni dei linters utili sono JSLint, CSSLint, JSHint, Pylint


24

A parte ciò che altri hanno già detto, vorrei aggiungere che, Linting verrà eseguito attraverso il codice sorgente per trovare

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

esecuzione di un programma Lint sopra il vostro codice sorgente, aiuta ad assicurare che il codice sorgente è leggibile, leggibile, meno inquinata e più facile da mantenere.


2

I linguaggi interpretati come Python e JavaScript traggono molto vantaggio dal linting, poiché questi linguaggi non hanno una fase di compilazione per visualizzare errori prima dell'esecuzione.

I linters sono anche utili per la formattazione del codice e/o per l'adesione alle migliori pratiche specifiche della lingua.

Ultimamente uso ESLint per JS/React e occasionalmente lo uso con un file airbnb-config.