Boas Práticas de Programação em Python - PARTE II
Por Ricardo Costa Val do Rosario
9. Ferramentas de Qualidade de Código e Automatização
1. • Formatação automática: Black, YAPF
2. • Linting: Flake8, pylint
3. • Tipagem estática: mypy
4. • Git hooks com pre-commit para verificações antes do commit
10. Controle de Versão e Fluxo de Trabalho
• Use Git para versionamento
• Branches:
1. main/master para código estável
2. develop para integração contínua
3. Feature branches para novas funcionalidades
• Pull requests revisados por colegas antes de merge
11. Documentação e API
1. • Crie e mantenha um README.md com instruções de instalação e uso
2. • Documente APIs internas e públicas (por exemplo, usando Sphinx)
3. • Inclua exemplos de uso e casos de teste
12. Performance e Profiling
1. • Identifique gargalos com módulos cProfile ou line_profiler
2. • Evite loops desnecessários; prefira compreensões e operações vetoriais (NumPy, pandas)
3. • Use caching (functools.lru_cache) quando aplicável
13. Segurança e Boas Práticas
1. • Nunca exponha segredos ou senhas em código
2. • Use variáveis de ambiente ou cofre de segredos
3. • Valide dados de entrada de fontes externas
4. • Atualize dependências para corrigir vulnerabilidades
14. Logging e Monitoramento
1. • Utilize o módulo logging em vez de print()
2. • Configure níveis (DEBUG, INFO, WARNING, ERROR, CRITICAL)
3. • Direcione logs para arquivos ou serviços especializados
import logging
logging.basicConfig(level=logging.INFO)
logger = logging.getLogger(__name__)
logger.info("Processamento iniciado")
15. Empacotamento e Distribuição
1. • Configure setup.py ou pyproject.toml para empacotar seu projeto
2. • Teste a instalação (pip install .) em um ambiente limpo
3. • Publique em repositórios privados ou no PyPI conforme apropriado
Ao adotar essas práticas, você garante que seu código Python seja claro, robusto,
sustentável e pronto para colaboração e crescimento contínuo.