Skip to content
Latchkey

O Que É Linting?

O linting executa uma ferramenta sobre o seu código para sinalizar violações de estilo, prováveis bugs e padrões desencorajados de acordo com um conjunto de regras.

Um linter lê o seu código e reporta problemas que um compilador não reportaria - estilo inconsistente, imports não utilizados, comparações suspeitas, anti-padrões. Executado no CI, ele mantém a base de código consistente e captura uma classe de pequenos bugs de forma barata e precoce.

O que um linter verifica

Os linters aplicam regras configuráveis: regras estilísticas (nomenclatura, espaçamento), de correção (variáveis não utilizadas, código inalcançável) e de boas práticas. Você ajusta o conjunto de regras às convenções da sua equipe.

Linter vs formatador

Um formatador (como o Prettier ou o gofmt) reescreve o código para um estilo fixo automaticamente. Um linter analisa e reporta, às vezes corrigindo automaticamente. Muitas equipes executam um formatador para o layout e um linter para problemas de nível lógico.

Um pequeno exemplo

O ESLint sinaliza const x = 1; x = 2; como atribuição a uma const e um import não utilizado como no-unused-vars. No CI, eslint . --max-warnings=0 faz qualquer achado desse tipo falhar o build, mantendo os problemas fora da main.

No CI

O linting é executado cedo e rápido como um gate: uma falha de lint interrompe o build antes dos testes, então regressões de estilo e bugs óbvios nunca são mescladas. Combiná-lo com um pre-commit hook captura a maioria dos problemas antes mesmo de chegarem ao CI.

Mantendo o conjunto de regras sensato

Uma configuração excessivamente rígida ou ruidosa treina as pessoas a ignorar a saída do lint. Comece a partir de um preset compartilhado sensato, habilite regras que capturam problemas reais e corrija automaticamente as mecânicas, para que as falhas restantes valham a leitura.

Principais conclusões

  • O linting sinaliza problemas de estilo, prováveis bugs e padrões desencorajados por regra.
  • Um formatador reescreve o layout; um linter analisa e reporta.
  • Execute-o como um gate rápido e precoce, idealmente com um pre-commit hook correspondente.

Guias relacionados