O documento descreve a ferramenta Pylint, que analisa staticamente código Python para identificar erros e problemas de qualidade. Ele explica como instalar o Pylint, como usá-lo para analisar um projeto de exemplo e os diferentes tipos de relatórios gerados com a análise.
Aula - 1º Ano - Émile Durkheim - Um dos clássicos da sociologia
Análise estática de código Python com Pylint
1. Universidade Federal de Alagoas
Ciência da Computação
Pylint
Iorgama Porcely
Jessyka Oliveira
2. Tópicos
Pylint
Instalação
Mãos na massa
Conclusão
3. Análise Estática do Código
Definição
É o processo de avaliação do código fonte sem executar
4. Pylint
Definição:
Ferramenta que analisa estaticamente o código de
Python a procura de erros ou de má qualidade no
código fonte.
5. Verificações Básicas
Verificar:
A existência de docstring nos métodos
Se as variáveis não estão definidas
A existência de linhas similares
Se todos os métodos e módulos importados estão sendo
utilizados
O comprimento da linha
Incorreções no código, como: <> em vez de !=
6. Instalação
Fazer download da ferramenta:
http://download.logilab.org/pub/pylint/pylint-0.25.1.tar.gz
Após baixar, descompactar o pacote Pylint usando o
comando:
tar -vzxf pylint-0.25.1.tar.gz
7. Instalação
Em seguida, entre no diretório da ferramenta:
cd pylint-0.25.1
E execute o script setup.py que irá adicionar o Pylint no
diretório Python:
sudo python setup.py install
Verificar a versão:
pylint --version
8. Mãos na Massa
Exibe uma série de relatórios, cada um focando num
aspecto particular do projeto
Projeto testado SAPA 1.0
Executando Pylint:
pylint <nome do projeto> ou <nome_do_arquivo.py>
9. Mãos na Massa
O resultado do Pylint é dividido em:
Análise de código Relatório
10. Mãos na Massa: Análise de
Código
Análise de código
C: 1,0: Missing docstring
- C é o tipo da mensagem
- 1 é o número da linha (no
arquivo) onde o problema foi
constatado
- Missing docstring é a mensagem
gerada
11. Mãos na Massa
Possíveis mensagens:
Error (E)
Erros de programação importantes (bugs)
Warning (W)
Erros de programação menores (advertências)
Fatal (F)
Erros que impedem a análise de continuar
Refactor (R)
Violação das boas práticas
Convention (C)
Violação do padrão de codificação
12. Mãos na Massa: Relatórios
Analisando resultados:
Número de módulos analisados:
Duplicação do código fonte:
13. Mãos na Massa: Relatórios
Analisando resultados:
Estatísticas por tipo:
14. Mãos na Massa: Relatórios
Analisando resultados:
Erros e advertências por módulos:
15. Mãos na Massa: Relatórios
Analisando resultados:
Mensagens por categoria:
16. Mãos na Massa: Relatórios
Analisando resultados:
Total de ocorrência de erros (ordenados por nº de
ocorrências)
17. Mãos na Massa: Relatórios
Para entender o código das mensagens de erros:
pylint –help-msg=<id_msg>
pylint –help-msg=W0611:
pylint –help-msg=C0301:
http://pylint-messages.wikidot.com/all-codes
18. Mãos na Massa: Relatórios
Analisando resultados:
Pontuação
1ª Rodada 2ª Rodada
Verificar se melhorou a qualidade do código ou não
19. Conclusão
Poderosa ferramenta, porém deve ser usado com cuidado
Promove às boas práticas de codificação
Não analisa a parte “alto nível” do projeto, como:
bibliotecas externas, design e HTML
20. Referências
Pylint
http://www.logilab.org/857
Entendendo o código das Mensagens:
http://pylint-messages.wikidot.com/all-messages
Pylint: Análisis estático del código en Python
http://blog.milmazz.com.ve/archivos/2010/03/13/pylint-
analisis-estatico-del-codigo-en-python
Assegure a qualidade do seu código Python – Pylint
http://www.klauslaube.com.br/2011/09/06/assegura-a-
qualidade-de-codigo-python-pylint/