O que é "Linting"?


1094

PHPLint , JSLint e eu recentemente me deparei com "você pode enganar seu código JS em tempo real" enquanto lê algo sobre algum IDE .

Então, o que é isso linting que todo mundo sabe, mas eu?


6
Eu tenho ouvido esse termo apenas desde que o código do visual studio se tornou uma coisa. antes era apenas "intelectual". Embora esse termo remova a partir de 1978 da wikipedia, parece-me que foi popular apenas recentemente.
precisa saber é o seguinte

Respostas:


1078

Linting é o processo de execução de um programa que analisará o código quanto a possíveis erros.

Veja fiapos na wikipedia:

lint era o nome originalmente dado a um programa específico que sinalizava algumas construções suspeitas e não portáveis ​​(provavelmente bugs) no código fonte da linguagem C. O termo agora é aplicado genericamente a ferramentas que sinalizam uso suspeito em software escrito em qualquer linguagem de computador.


140
Cite na wikipedia - “O termo foi derivado do nome dos pedaços indesejáveis ​​de fibra e cotão encontrados na lã de ovelha”.
tan9

17
@HasanBaidoon - apenas relata violações de uma política de estilo, não necessariamente age sobre elas em nome do usuário.
Oded

O stylecop seria considerado um linter?
precisa saber é o seguinte

1
@ Adam - geralmente um linter também teria a opção de corrigir automaticamente os problemas encontrados.
Oded

@AdamPlocher Sim, é. "StyleCop é um ponteiro C # que aplica diretrizes de estilo." github.com/mcandre/linters
mbomb007

184

Lint era o nome de um programa que passaria pelo seu código C e identificaria problemas antes de compilá-lo, vinculá-lo e executá-lo. Era um verificador estático, muito parecido com o FindBugs hoje para Java.

Como o Google, "lint" se tornou um verbo que significava verificar estática o seu código-fonte.


122

Linting é o processo de verificar o código-fonte quanto a erros programáticos e estilísticos. Isso é mais útil para identificar alguns erros comuns e incomuns que são cometidos durante a codificação.

A Lintou a Linteré um programa que suporta linting (verificação da qualidade do código). Eles estão disponíveis para a maioria dos idiomas, como JavaScript, CSS, HTML, Python, etc.

Alguns dos linters úteis são JSLint , CSSLint , JSHint , Pylint


52

Além do que os outros mencionaram, gostaria de acrescentar que o Linting percorrerá seu código-fonte para encontrar

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

A execução de um programa Lint sobre o código fonte ajuda a garantir que o código fonte seja legível, legível, menos poluído e mais fácil de manter.


27

O lint é uma ferramenta usada para marcar o código-fonte com algumas suspeitas e não-estruturais (pode causar bug). É uma ferramenta de análise de código estática em C no início. Agora, tornou-se o termo genérico usado para descrever a ferramenta de análise de software que marca o código suspeito.


20

Linguagens interpretadas como Python e JavaScript se beneficiam muito com o uso de fiapos, pois essas linguagens não têm uma fase de compilação para exibir erros antes da execução.

Linters também são úteis para formatação de código e / ou aderência às práticas recomendadas específicas do idioma.

Ultimamente tenho usado o ESLint para JS / React e ocasionalmente o utilizarei com um arquivo de configuração do airbnb .


3

Linting é um processo realizado por um programa linter que analisa o código-fonte em uma linguagem de programação específica e sinaliza problemas em potencial, como erros de sintaxe, desvios de um estilo de codificação prescrito ou uso de construções conhecidas como inseguras.

Por exemplo, um linter JavaScript sinalizaria o primeiro uso de parseInt abaixo como inseguro:

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

// with a radix paremeter specified - Safe
var count = parseInt(countString, 10);
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.