PEP – Python Enhancement Proposal

PEP – Python Enhancement Proposal

Vamos falar sobre isso de uma vez por todas?!?!

Amigos Pythonianos, tudo bem? Preciso confessar que estou sofrendo… E muito! Trabalhar com um código legado quase sempre é uma enorme dor de cabeça, mas não deveria ser assim. O motivo? ZONA total!!!

Ok, não sou o programador mais limpo da face da terra, mas garanto que não sou sujo como alguns projetos que encontro por ai!

Mas, antes de entrar efetivamente no mundo das PEPs, precisamos primeiro saber o que é, o que comem, onde vivem…

O que são as PEPs?


PEP — Python Enhancement Proposal (ou Proposta de Melhoria do Python) é um documento que tem como objetivo fornecer informações da linguagem para a comunidade Python. Uma PEP é capaz de fornecer uma especificação técnica concisa de recursos e justificativas para a utilização deste recurso.

Atualmente existem várias PEPs disponíveis (várias mesmo), mas confesso que dentre todas elas, a mais importante para mim (a única que eu realmente li), e a que me fez escrever esse artigo, é a PEP de número 8, ou apenas PEP8 para os íntimos.

Descrição oficial:

PEP stands for Python Enhancement Proposal. A PEP is a design document providing information to the Python community, or describing a new feature for Python or its processes or environment. The PEP should provide a concise technical specification of the feature and a rationale for the feature.

We intend PEPs to be the primary mechanisms for proposing major new features, for collecting community input on an issue, and for documenting the design decisions that have gone into Python. The PEP author is responsible for building consensus within the community and documenting dissenting opinions.

PEP 8 — Style Guide for Python Code

Dentre os autores dessa PEP, encontramos nada mais nada menos que Guido van Rossum, o simpático moço criador dessa linguagem.

A PEP 8 tem como objetivo apresentar convenções para codificação em Python. Esse guia de estilo foi evoluindo ao longo dos anos e novas convenções foram entrando durante essa evolução.

Sabemos que alguns projetos possuem suas próprias diretrizes de estilo e codificação, mas a recomendação é que, antes de definir suas diretrizes, use como base esta convenção para evitar dor de cabeça.

Existem vários exemplos no site oficial da linguagem para a PEP 8, sendo assim, não vou perder tempo e replicar o que já existe lá, entre no link: https://www.python.org/dev/peps/pep-0008/ e divirta-se.

Como aplicar essas regras?

Quando li a PEP 8 me fiz essa pergunta… Como aplicar essas regas? Como me lembrar de todas, como fazer com que isso entre na corrente sanguínea e passe a ser algo natural no meu dia a dia codando? Foi ai que, durante um almoço com Henrique Bastos, que conheci o PyCharm e algumas belas dicas para verificar seu código (leia mais em http://henriquebastos.net/mantenha-seu-codigo-em-ordem-com-flake8-e-coverage/).

Com o passar do tempo, acabei voltando para Sublime e, para minha alegria, me deparei com o pacote Anaconda (https://packagecontrol.io/packages/Anaconda) que reune uma penca de bibliotecas para te ajudar a manter um código limpo, dentre elas estão Jedi, PyFlakes, pep8, PyLint, pep257 e McCabe.

Lendo a PEP 8 e usando esses pacotes, você será capaz de criar um código limpo e legível e fará com que o coleguinha que bote a mão no seu código não te odeie com todas as forças.

Junto com a leitura da PEP 8, recomendo fortemente que você leia o livro Código Limpo do Robert Martin (falei sobre ele em http://bit.ly/1GujofK).

Deixe uma resposta

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