Linters e Formatação de Código em Python: pylint e black
Neste artigo, vamos explorar:
O que são linters e formatadores.
Diferenças entre eles e boas práticas.
Exemplos práticos e dicas para integrar em projetos.
🔹 1. O que são Linters e Formatadores de Código?
Linters
Linters são ferramentas que analisam o código fonte em busca de erros, problemas de estilo e práticas ruins.
Eles não executam o código, apenas verificam problemas potenciais.
Exemplos de erros detectados: variáveis não usadas, imports desnecessários, nomes de variáveis inconsistentes.
Formatadores de Código
Formatadores reorganizam o código para seguir um padrão de estilo, sem alterar sua lógica.
Garantem identação consistente, espaços corretos, quebras de linha e alinhamento de elementos.
No Python, o estilo mais usado é o PEP 8.
Em resumo: linters encontram problemas, formatadores corrigem automaticamente o estilo.
🔹 2. Introdução ao pylint
O pylint é um linter poderoso para Python, capaz de detectar erros e sugerir melhorias no código.
Instalação:
pip install pylint
Uso básico:
pylint meu_arquivo.py
Ele retorna uma pontuação (0 a 10) e lista avisos, erros e sugestões:
C→ Convenção de estilo (ex: nome de variável).R→ Refatoração recomendada.W→ Aviso (possível problema).E→ Erro (provável bug).
Exemplo prático:
Arquivo exemplo.py:
def soma(a,b):
return a+b
Rodando pylint exemplo.py:
C: 1,0: Missing function docstring (missing-function-docstring)
C: 1,9: Exactly one space required after comma
Correções sugeridas pelo linter:
def soma(a, b):
"""Retorna a soma de dois números."""
return a + b
🔹 3. Introdução ao black
O black é um formatador de código que aplica PEP 8 automaticamente.
Ele reorganiza o código com estilo consistente.
É conhecido como “o formatador sem discussão”, porque decide o estilo por você.
Instalação:
pip install black
Uso básico:
black meu_arquivo.py
Ele ajusta automaticamente indentação, espaços, quebras de linha e mais.
Exemplo:
Código antes do black:
def soma(a,b):
return a+b
Após rodar black exemplo.py:
def soma(a, b):
return a + b
🔹 4. Comparação entre pylint e black
| Recurso | pylint | black |
|---|---|---|
| Função | Detecta erros e problemas | Formata o código |
| Correção automática | Parcial (sugere melhorias) | Total |
| Estilo | Sugestões | Aplica PEP 8 direto |
| Uso típico | Avaliação e revisão | Padronização rápida |
Dica: use ambos juntos. Primeiro rode
blackpara formatar, depoispylintpara detectar problemas.
🔹 5. Integração em projetos
5.1. Editor de código
VSCode, PyCharm e outros suportam integração direta com
pylinteblack.Eles podem rodar automaticamente ao salvar.
5.2. CI/CD (Integração contínua)
Você pode configurar pipelines no GitHub Actions ou GitLab CI para:
Rodar
black --check→ verifica se o código está formatado.Rodar
pylint→ avalia a qualidade do código antes de aceitar alterações.
Exemplo de comando CI:
black --check .
pylint src/
Se algum arquivo não estiver formatado ou tiver erros graves, o build falha.
🔹 6. Boas práticas ao usar Linters e Formatadores
Configure regras personalizadas se necessário (ex: ignorar algumas regras do PEP 8).
Rode
blackantes de enviar código para o repositório.Use
pylintpara revisão de código e qualidade.Combine com pre-commit hooks para automatizar o processo.
🔹 7. Exemplo completo
Estrutura do projeto:
meu_projeto/
│── src/
│ └── calculadora.py
│── .pre-commit-config.yaml
.pre-commit-config.yaml para rodar black e pylint automaticamente:
repos:
- repo: https://github.com/psf/black
rev: stable
hooks:
- id: black
- repo: https://github.com/PyCQA/pylint
rev: v2.17.5
hooks:
- id: pylint
🔹 8. Conclusão
Linters e formatadores são ferramentas essenciais para qualquer projeto Python:
pylint→ identifica problemas e sugere melhorias.black→ formata o código automaticamente, garantindo consistência.
Usando essas ferramentas você:
Evita bugs comuns.
Mantém código legível e padronizado.
Facilita o trabalho em equipe.
Dica final: configure ambos no seu editor e em pipelines CI/CD para garantir qualidade e profissionalismo no código Python.

Comentários
Postar um comentário