Assegure a qualidade do seu código Python – Pylint

AGRADEÇA AO AUTOR COMPARTILHE!

Se você precisa de uma ferramenta mais poderosa que o pep8, talvez você precise do Pylint.

De forma (bem) resumida, o Pylint analisa de forma minuciosa o código do seu projeto Python, lhe retornando uma variedade de relatórios (as vezes, detalhistas até demais) sobre todo o tipo de problema que ele encontra. Indo de incoerências com a PEP 8, até nome de variáveis.

É sem dúvida, uma das melhores ferramentas feitas para o Python, e é essencial para você deixar o seu código mais próximo do “estado da arte”.

Mas o que eu achei mais legal sobre o Pylint, foi um comentário em sua documentação. O autor salienta muito bem que a ferramenta pode ser eficiente em certos contextos, mas não em todos. Então, antes de “pularmos de cabeça”, peço que você utilize o bom senso e saiba mensurar as suas necessidades em relação ao que a ferramenta tem a oferecer.

Na prática

Vamos testar as conformidades do arquivo site.py segundo o Pylint:

O resultado pode parecer assustador. Então “vamos começar pelo começo”.

O resultado do Pylint é dividido em duas grandes seções: análise de código e relatório; O primeiro, como o nome sugere, apresenta uma análise de código bem semelhante a apresentada pelo pep8. Porém no seguinte formato:

Vamos pegar a primeira linha gerada pelo Pylint para entender melhor:

C é o tipo da mensagem, 1 é o número da linha (no arquivo) onde o problema foi constatado,Missing docstring é a mensagem gerada. O Pylint poderá apresentar os seguintes tipos de mensagens:

Quase posso ver o brilho em seus olhos. A saída do Pylint deixou de ser enigmática, não?!

A segunda seção, a de relatório, apresentará alguns números interessantes sobre o seu projeto. Como o número de warnings e errors, uma nota para o seu projeto (e um comparativo com a execução anterior do Pylint), quantidade de código duplicado, quantidade de código documentado e “desenhará” uma árvore de dependências do seu projeto.

Diminuindo o ruído

Eu avisei que o Pylint era “barulhento”!

Vamos reduzir um pouco o nível de detalhes da ferramenta, passando alguns parâmetros:

Primeiro, com o parâmetro –-reports=n dizemos que não queremos aquele relatório gigantesco no final da análise. O –-include-ids=y exibe para gente os ids das mensagens de erros do Pylint. É útil, pois todas as mensagens que você julgar desnecessárias para a análise você adiciona no parâmetro -–disable (separadas por vírgula).

Para que não seja necessário passar todos esses parâmetros todas as vezes que executar o Pylintbasta gerar um arquivo .pylintrc:

É possível gerar este arquivo por projeto, podendo mudar a especificidade das métricas de acordo com a necessidade. Quer saber mais? Leia este tutorial muito bom, direto da documentação doPylint.

Para entender os códigos das mensagens, confira a listagem nesta wiki, ou utilize o parâmetro -–help-msg:

Referências

Até a próxima…

Fonte: Klaus Laube

AGRADEÇA AO AUTOR COMPARTILHE!

Klaus Peter Laube

Mais artigos deste autor »

Tecnólogo em Análise e Desenvolvimento de Sistemas pelo Centro Universitário de Jaraguá do Sul (UNERJ). Desenvolvedor Web de longa data, apaixonado por Python e defensor dos padrões Web. Escreve quando pode no http://www.klauslaube.com.br.


Deixe seu comentário

Seu endereço de e-mail não será publicado. Campos com * são obrigatórios!

Você pode usar estas tags e atributos de HTML: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code class="" title="" data-url=""> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> <pre class="" title="" data-url=""> <span class="" title="" data-url="">