Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Pep8 pylint

530 views

Published on

Published in: Technology, Sports
  • DOWNLOAD THIS BOOKS INTO AVAILABLE FORMAT (Unlimited) ......................................................................................................................... ......................................................................................................................... Download Full PDF EBOOK here { https://tinyurl.com/y6a5rkg5 } ......................................................................................................................... Download Full EPUB Ebook here { https://tinyurl.com/y6a5rkg5 } ......................................................................................................................... ACCESS WEBSITE for All Ebooks ......................................................................................................................... Download Full PDF EBOOK here { https://tinyurl.com/y6a5rkg5 } ......................................................................................................................... Download EPUB Ebook here { https://tinyurl.com/y6a5rkg5 } ......................................................................................................................... Download doc Ebook here { https://tinyurl.com/y6a5rkg5 } ......................................................................................................................... ......................................................................................................................... ......................................................................................................................... .............. Browse by Genre Available eBooks ......................................................................................................................... Art, Biography, Business, Chick Lit, Children's, Christian, Classics, Comics, Contemporary, Cookbooks, Crime, Ebooks, Fantasy, Fiction, Graphic Novels, Historical Fiction, History, Horror, Humor And Comedy, Manga, Memoir, Music, Mystery, Non Fiction, Paranormal, Philosophy, Poetry, Psychology, Religion, Romance, Science, Science Fiction, Self Help, Suspense, Spirituality, Sports, Thriller, Travel, Young Adult,
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
  • Be the first to like this

Pep8 pylint

  1. 1. Qualidade de código PEP8, Pylint, Pyflakes e CloneDigger Amigos do desenvolvedor Python !
  2. 2. PEP8 – O que é PEP - Python Enhancement Proposal São documentos que geralmente abordam alguma nova funcionalidade da linguagem, propósitos, procedimentos ou ambiente. Em suma, são “guidelines” que te orientam num melhor uso da linguagem e suas funcionalidades, bem como podem ajudar em questões como arquitetura, ambiente ou processos de sua aplicação. (Escrita por Guido Van Rossum e Barry Warsaw) ● pep8 - é uma ferramenta simples (e muito eficaz) que analisa o seu código Python segundo as convenções de código descritas na PEP 8 ( http://www.python.org/dev/peps/pep-0008/)
  3. 3. Pylint – O que é ● Pylint – lint's São ferramentas de checagem estática de códigos. O Pylint é uma ferramenta de lint para o Python. O Pylint analisa de forma minuciosa o código do seu projeto Python, lhe retornando uma variedade de relatórios, sobre todo o tipo de problema que ele encontra, indo de incoerências com a PEP 8, até nome de variáveis.
  4. 4. Pyflakes – O que é ● Pyflakes – é um pylint mais resumido, que aponta direto o erro.
  5. 5. CloneDigger – O que é ● CloneDigger – Ferramenta que detecta duplicação de código python.
  6. 6. Como instalar ● ● ● ● PEP8: PEP8 pip install pep8 Pylint: Pylint pip install pylint Pyflakes: Pyflakes pip install pyflakes CloneDigger: CloneDigger pip install clonedigger
  7. 7. PEP8 – Dicas de Utilização $ pep8 models.py models.py:42:65: W291 trailing whitespace models.py:62:1: E302 expected 2 blank lines, found 1 models.py:105:80: E501 line too long (89 characters) $ pep8 models.py --show-source --show-pep8 models.py:105:80: E501 line too long (89 characters) return '/weblog/%s/%s/' % (self.pub_date.strftime('%Y/%m/%d').lower(), self.slug) ^ Limit all lines to a maximum of 79 characters. Configuração: As configurações são lidas no diretório ~/.config/pep8 . Exemplo de configuração: [pep8] ignore = E226,E302,E41 max-line-length = 160 Os erros E226, E302 e E41 serão ignorados.
  8. 8. autopep8 ● https://github.com/hhatto/autopep8 Ferramenta que “auto-aplica” correções no arquivo .py Instalação: pip install --upgrade autopep8 (requer pep8 instalado). Uso: autopep8 --in-place --aggressive <filename> Ob: Vale a pena uma leitura na documentação na página do projeto.
  9. 9. Pylint pylint arquivo.py C: 1: Missing docstring Os tipos de mensagens: [R]efactor for a "good practice" metric violation [C]onvention for coding standard violation [W]arning for stylistic problems, or minor programming issues [E]rror for important programming issues (i.e. most probably bug) [F]atal for errors which prevented further processing Com alguma personalização: $ pylint aquivo.py --reports=n --include-ids=y –disable=W0232 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). Gerar arquivo pylintrc com suas configurações personalizadas: $ pylint --reports=n --include-ids=y --disable=W0232 --generate-rcfile > ~/.pylintrc Para utlizar o arquivo de configurações personalizadas ao executar o pylint: pylint --rcfile=pylintrc.rc arquivo.py Para entender as mensagens de erro do pylint: pylint –help-msg=R0904
  10. 10. Pyflakes pyflakes arquivo.py arquivo.py:3: 'EmptyPage' imported but unused arquivo.py:3: 'InvalidPage' imported but unused
  11. 11. PEP8 e Pyflakes juntos: flake8 $ pip install flake8
  12. 12. CloneDigger clonedigger meuprojeto/ Ele irá gerar um arquivo output.html E neste relatório ele mostrará os trechos de códigos repitidos por arquivo e irá destacar em vermelho as linhas que não se repetem.
  13. 13. PEP8, Pylint e Pyflakes, comparação: $ pep8 admin.py admin.py:37:14: E124 closing bracket does not match visual indentation $ pylint admin.py No config file found, using default configuration ************* Module demo_passo_a_passo.admin C: 15,0: Invalid name "site" for type constant (should match (([A-Z_][A-Z0-9_]*)|(__.*__))$) C: 18,0:BookmarkAdmin: Missing docstring R: 21,4:BookmarkAdmin.FormWizard: Too many ancestors (9/7) C: 21,4:BookmarkAdmin.FormWizard: Missing docstring E: 23,19:BookmarkAdmin.FormWizard.done: Undefined variable 'HttpResponse' R: 21,4:BookmarkAdmin.FormWizard: Too many public methods (31/20) R: 18,0:BookmarkAdmin: Too many public methods (60/20) W: 5,0: Unused import admin W: 6,0: Unused import BookmarksWizard $ pyflakes admin.py admin.py:5: 'admin' imported but unused admin.py:6: 'BookmarksWizard' imported but unused admin.py:23: undefined name 'HttpResponse'
  14. 14. E uma IDE ? http://ninja-ide.org (do acrônimo recursivo: "Ninja-IDE Is Not Just Another IDE"), é uma IDE multi-plataforma de desenvolvimento integrado. NINJA-IDE é executado em Linux/X11, Mac OS X e sistemas operacionais de desktop Windows, e permite aos desenvolvedores criarem aplicações para diversas finalidades, utilizando todas as ferramentas e utilitários de NINJA-IDE, tornando a tarefa de escrever software mais fácil e agradável.

×