¿Qué es "Linting"?

1094

PHPLint , JSLint , y recientemente me encontré con "puedes ligar tu código JS sobre la marcha" mientras leías algo sobre algún IDE .

Entonces, ¿qué es este revestimiento que todos conocen menos yo?

Ashkan Kh. Nazary
fuente
66
He estado escuchando este término solo desde que el código visual de estudio se convirtió en algo. antes era simplemente "intellisense". Aunque este término data de 1978 de wikipedia, me parece que ha sido popular recientemente.
v.oddou

Respuestas:

1078

Linting es el proceso de ejecutar un programa que analizará el código en busca de posibles errores.

Ver pelusa en wikipedia:

lint fue el nombre dado originalmente a un programa en particular que marcó algunas construcciones sospechosas y no portátiles (probablemente errores) en el código fuente del lenguaje C. El término ahora se aplica genéricamente a herramientas que señalan el uso sospechoso en software escrito en cualquier lenguaje de computadora.

Oded
fuente
140
Cita de Wikipedia : "El término se deriva del nombre de los trozos indeseables de fibra y pelusa que se encuentran en la lana de oveja".
tan9
17
@HasanBaidoon: solo informa violaciones de una política de estilo, no necesariamente actúa en su nombre en nombre del usuario.
Oded
¿Stylecop sería considerado un linter?
Adam Plocher
1
@Adam: por lo general, un linter también tendría la opción de corregir automáticamente los problemas encontrados.
Oded
@AdamPlocher Sí, lo es. "StyleCop es una interfaz de C # que hace cumplir las pautas de estilo". github.com/mcandre/linters
mbomb007
184

Lint era el nombre de un programa que revisaba su código C e identificaba problemas antes de compilarlo, vincularlo y ejecutarlo. Era un verificador estático, muy parecido a FindBugs hoy para Java.

Al igual que Google, "pelusa" se convirtió en un verbo que significaba verificar estáticamente su código fuente.

duffymo
fuente
122

Linting es el proceso de verificar el código fuente de errores programáticos y estilísticos. Esto es muy útil para identificar algunos errores comunes y poco comunes que se realizan durante la codificación.

A Linto a Linteres un programa que admite linting (verificación de la calidad del código). Están disponibles para la mayoría de los lenguajes como JavaScript, CSS, HTML, Python, etc.

Algunos de los linters útiles son JSLint , CSSLint , JSHint , Pylint

VSri58
fuente
52

Además de lo que otros han mencionado, me gustaría agregar que, Linting se ejecutará a través de su código fuente para encontrar

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

Ejecutar un programa Lint sobre su código fuente ayuda a garantizar que el código fuente sea legible, legible, menos contaminado y más fácil de mantener.

Mangu Singh Rajpurohit
fuente
27

lint es una herramienta que se utiliza para marcar el código fuente con algunos elementos sospechosos y no estructurales (pueden causar errores). Es una herramienta de análisis de código estático en C al principio. Ahora se convirtió en el término genérico utilizado para describir la herramienta de análisis de software que marca el código sospechoso.

Marcus Thornton
fuente
20

Los lenguajes interpretados como Python y JavaScript se benefician enormemente de la alineación, ya que estos lenguajes no tienen una fase de compilación para mostrar errores antes de la ejecución.

Las linters también son útiles para formatear el código y / o adherirse a las mejores prácticas específicas del idioma.

Últimamente he estado usando ESLint para JS / React y ocasionalmente lo usaré con un archivo airbnb-config .

JSON C11
fuente
3

El linting es un proceso de un programa linter que analiza el código fuente en un lenguaje de programación particular y señala posibles problemas como errores de sintaxis, desviaciones de un estilo de codificación prescrito o el uso de construcciones que se consideran inseguras.

Por ejemplo, un indicador de JavaScript marcaría el primer uso de parseInt a continuación como inseguro:

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

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