Análise de Código em Python
escrito em 31/01/2011
TweetAnálise (estática) de código é um termo utilizado pela análise feita fora do tempo execução de um código, verificando a sua qualidade.
Há várias formas de analisar um código, a sua sintaxe, verificar a ocorrência de elementos não utilizados, código duplicado e etc.
Vou listar aqui algumas ferramentas de análise de código para python, explicar o uso e instalação de cada uma delas.
pep8
Verificar se o código está seguindo as orientações do pep 8.
Instalação:
[sudo] pip install pep8
Uso:
pep8 /diretorio-do-meu-codigo
pylint
Analisa o código procurando por bugs ou por sinais de baixa qualidade. Como:
- existência de docstring nos métodos
- variáveis e atributos não definidos
- pep8
- métodos, modulos ou objetos importados não utilizados
- verifica linhas similares
O pylint atribui uma nota ao seu código de acordo com o resultado do teste.
Instalação:
[sudo] pip install pylint
Uso:
pylint /diretorio-do-meu-modulo-python
pyflakes
Verifica se algum modulo ou objeto importado ou uma variável não estão sendo utilizado. Detecta também variávies não definidos.
Instalação:
[sudo] pip install pyflakes
Uso:
pyflakes /diretorio-do-meu-codigo
clonedigger
O objetivo do clonedigger é detectar códigos semelhantes.
Instalação:
[sudo] pip install clonedigger
Uso:
clonedigger /diretorio-do-meu-codigo
O clonedigger gera um arquivo chamado output.html mostrando todas as duplicações.
Bônus: http://pypants.org/
pypants é um site onde você cadastra seu projeto python e ele analisa a qualidade do seu projeto e da uma nota de acordo com o resultado.
Agora, uma vez como o código analisado, fica mais fácil saber o que refatorar para melhorar a qualidade do mesmo.