Melhor resposta
Existem várias ferramentas para realizar a análise estática para a programação do Python.
- Pylint → Uma ferramenta de código aberto
- Kiuwan → Ferramenta comercial
- Pyflakes e assim por diante.
Usei Pylint e Kiuwan.
O Pylint pode encontrar as coisas abaixo:
- verificando o comprimento do código de linha,
- verificando se os nomes das variáveis estão bem formados de acordo com seu padrão de codificação
- verificar se os módulos importados são usados
- verificar se as interfaces declaradas estão realmente implementadas
- verificar se os módulos são importados
Kiuwan pode suportar os conjuntos de regras abaixo:
- Evite codificar endereços IP
- Código duplicado
- Evite usar parâmetros mutáveis padrão
- Evite usar função exec ()
- Evite atribuições para Verdadeiro ou Falso
- Evite comparações encadeadas contendo operador de igualdade
- Evite funções muito complexas
- Arquivos abertos usin g the with statement
- Evite usar módulos obsoletos
- o método \_init\_ não pode ser um gerador
É a melhor opção para verificar a existência de várias ferramentas e decida qual ferramenta se encaixa perfeitamente no requisito.
Resposta
Eu uso pyflakes para verificação de código dentro do Vim e acho isso muito útil. Mesmo assim, o pylint é melhor para verificação de código pré-confirmação. Você deve ter dois níveis de verificação de código: erros que não podem ser confirmados e avisos que cheiram mal, mas podem ser confirmados. Você pode configurar isso e muitas outras coisas com o pylint.
Às vezes você pode achar que o pylint é muito exigente: ele pode reclamar de algo que você acha que está perfeitamente ok. Pense duas vezes sobre isso. Muitas vezes, descobri que o aviso que achei excessivamente conservador há alguns meses era, na verdade, um conselho muito bom.
Portanto, minha resposta é que o pylint é confiável e robusto, e não estou ciente de um código muito melhor analisador.