Como utilizar o PEP8 para escrever código Python seguindo as convenções?
Como Escrever Código Python Bonito de Acordo com o PEP 8
PEP 8, também conhecido como PEP8 ou PEP-8, é um documento que fornece diretrizes e melhores práticas sobre como escrever código Python. Foi escrito em 2001 por Guido van Rossum, Barry Warsaw e Alyssa Coghlan. O principal foco do PEP 8 é melhorar a legibilidade e consistência do código Python.
Ao final deste tutorial, você será capaz de:
- Escrever código Python que esteja em conformidade com o PEP 8
- Entender as razões por trás das diretrizes estabelecidas no PEP 8
- Configurar seu ambiente de desenvolvimento para começar a escrever código Python de acordo com o PEP 8
PEP significa Proposta de Melhoria para o Python (Python Enhancement Proposal) e existem muitos PEPs. Esses documentos descrevem principalmente novos recursos propostos para a linguagem Python, mas alguns PEPs também se concentram em design e estilo e têm como objetivo servir como um recurso para a comunidade. O PEP 8 é um desses PEPs focados em estilo.
Neste tutorial, você verá as principais diretrizes estabelecidas no PEP 8. Abordaremos tópicos de programação iniciantes a intermediários. Para aprender sobre tópicos mais avançados, você pode ler a documentação completa do PEP 8.
Por que Precisamos do PEP 8
”A legibilidade conta.”
— O Zen do Python
Como Guido van Rossum disse: “O código é lido com muito mais frequência do que é escrito.” Você pode gastar alguns minutos ou um dia inteiro escrevendo um trecho de código para processar a autenticação do usuário. Depois de escrito, você nunca mais vai escrevê-lo novamente.
Mas certamente você vai ter que lê-lo novamente. Esse trecho de código pode fazer parte de um projeto em que você está trabalhando. Toda vez que você voltar a esse arquivo, terá que lembrar o que aquele código faz e por que você o escreveu, então a legibilidade se torna crucial.
O código legível é mais fácil de entender, manter, depurar e colaborar com outros desenvolvedores. Além disso, o Python tem como objetivo ser uma linguagem com uma sintaxe clara e legível, o que significa que o código Python deve parecer com uma leitura em inglês simples.
Agora que entendemos a importância da legibilidade do código, vamos explorar algumas das diretrizes estabelecidas no PEP 8.
Convenções de Nomenclatura
As convenções de nomenclatura são uma parte importante do PEP 8. Elas ajudam a tornar o código mais consistente e legível, permitindo que você e outros desenvolvedores identifiquem facilmente as funções, variáveis e classes do seu código.
Estilos de Nomenclatura
O PEP 8 sugere o seguinte para estilos de nomenclatura:
- Variáveis, funções e métodos devem ser em minúsculas, com palavras separadas por underscores (snake_case).
- Classes devem seguir a convenção CamelCase, onde a primeira letra de cada palavra é maiúscula e não há separação por underscore.
Essas convenções são amplamente aceitas pela comunidade Python e ajudam a tornar o código mais legível.
Como Escolher Nomes
Além do estilo de nomenclatura, é importante escolher nomes significativos para suas variáveis, funções e classes. Os nomes devem descrever claramente o propósito e a função do elemento em questão.
Evite nomes genéricos, como “temp” ou “data”, e em vez disso opte por nomes mais descritivos, como “nome_completo” ou “lista_de_clientes”. Dessa forma, outros desenvolvedores poderão entender mais facilmente o que o código está fazendo.
Layout de Código
O layout de código também é uma preocupação para o PEP 8, pois um código bem organizado e formatado contribui para a legibilidade do código.
Linhas em Branco
O PEP 8 recomenda o uso de linhas em branco para separar partes lógicas do código, como funções ou classes. Isso torna o código mais organizado e mais fácil de ler.
Além disso, linhas em branco adicionais podem ser usadas para melhorar a legibilidade do código, principalmente ao separar blocos de código relacionados.
Comprimento Máximo da Linha e Quebra de Linha
O PEP 8 sugere que as linhas de código tenham no máximo 79 caracteres de comprimento. Isso ajuda a evitar a necessidade de rolagem horizontal ao visualizar o código.
Quando uma linha de código excede esse limite, o PEP 8 sugere que a quebra de linha seja feita no parêntese, colchete ou chave mais próximo. Isso ajuda a tornar o código mais legível e evita erros de sintaxe.
Indentação
A indentação é uma parte fundamental da sintaxe do Python e também é importante para a legibilidade do código.
Tabs vs Espaços
O PEP 8 sugere o uso de espaços em vez de tabs para indentação. Cada nível de indentação deve ser feito com quatro espaços.
Essa convenção ajuda a manter a consistência no código e evita problemas de formatação em diferentes ambientes de desenvolvimento.
Indentação Após Quebra de Linha
O PEP 8 recomenda que os níveis de indentação após uma quebra de linha sejam alinhados com o código parente. Isso ajuda a tornar o código mais legível e facilita a compreensão da estrutura do código.
Onde Colocar o Fechamento de Parêntese
O PEP 8 sugere que o fechamento de parêntese, colchete ou chave seja colocado na mesma linha do último argumento, quando possível. Se isso não for possível, o fechamento deve ser colocado em uma linha separada e alinhado com o início da linha que contém a abertura.
Essas diretrizes de indentação ajudam a tornar o código mais legível e a facilitar a identificação de blocos de código relacionados.
Comentários
Comentários são uma parte importante da documentação do código e também contribuem para a legibilidade do código Python.
Comentários em Bloco
O PEP 8 sugere o uso de comentários em bloco para fornecer explicações detalhadas sobre o código. Esses comentários são delimitados por duas linhas usando o caractere #
no início de cada linha.
Comentários em Linha
Comentários em linha são usados para fornecer explicações breves sobre o código. Eles são iniciados com o caractere #
e podem ser usados para esclarecer partes específicas do código.
Strings de Documentação
Strings de documentação, também conhecidas como docstrings, são usadas para fornecer documentação detalhada para funções, métodos e classes. Essas strings devem estar entre aspas triplas e devem seguir um padrão estabelecido pelo PEP 257.
As diretrizes de comentários ajudam os desenvolvedores a entender o propósito e o funcionamento do código, tornando-o mais legível e facilitando a manutenção.
Espaço em Expressões e Declarações
O uso adequado de espaços em expressões e declarações também é um aspecto importante do PEP 8.
Espaço em Torno de Operadores Binários
O PEP 8 recomenda o uso de espaços em torno de operadores binários, como +
, -
, *
, ==
, entre outros. Isso ajuda a tornar as expressões mais legíveis e melhora a clareza do código.
Quando Evitar Adicionar Espaços
O PEP 8 sugere evitar a adição de espaços em locais onde eles não são necessários, como após abrir parênteses ou antes de fechá-los. No entanto, há casos em que adicionar espaços pode melhorar a legibilidade do código, então é importante avaliar o contexto ao decidir quando adicionar espaços.
Essas diretrizes de uso adequado de espaços ajudam a tornar o código mais legível e facilitam a compreensão das expressões e declarações.
Recomendações de Programação
Além das diretrizes específicas do PEP 8, existem algumas recomendações de programação que também podem contribuir para a legibilidade do código Python.
É recomendado escrever código Python pequeno e conciso, dividindo problemas complexos em problemas menores e escrevendo funções e métodos reutilizáveis. Isso ajuda a melhorar a clareza e reutilização do código.
Além disso, é recomendado usar nomes explícitos para suas variáveis, funções e classes, evitando abreviações obscuras ou acrônimos que possam confundir outros desenvolvedores.
Quando Ignorar o PEP 8
Embora seguir o PEP 8 seja uma prática recomendada, existem casos em que é aceitável desviar das diretrizes estabelecidas.
Por exemplo, se você estiver trabalhando em um projeto que já possui um código existente com um estilo diferente, pode ser mais prático e fácil manter a consistência com o código existente, em vez de forçar a conformidade com o PEP 8.
No entanto, em projetos novos ou em projetos onde várias pessoas estão trabalhando, seguir o PEP 8 é uma boa prática para manter a legibilidade e consistência do código.
Dicas e Truques para Garantir que seu Código Siga o PEP 8
Existem diversas ferramentas que podem ajudar a garantir que seu código esteja em conformidade com o PEP 8.
Linters
Linters são ferramentas que analisam o código-fonte e fornecem feedback sobre problemas de formatação e estilo. Eles podem ajudar a detectar violações do PEP 8 no seu código e sugerir correções.
Um exemplo popular de linter para Python é o flake8, que verifica a conformidade com o PEP 8 e fornece informações sobre possíveis problemas no código.
Autoformatters
Autoformatters são ferramentas que formatam automaticamente o código para estar em conformidade com o PEP 8. Eles aplicam as regras do PEP 8 ao código-fonte e ajustam a formatação conforme necessário.
Um exemplo de autoformatter popular para Python é o black. Ele formata automaticamente o código, seguindo o PEP 8, e pode ser integrado ao seu fluxo de trabalho de desenvolvimento.
Ferramentas Combinadas
Existem também ferramentas que combinam as funcionalidades de linters e autoformatters, fornecendo um conjunto abrangente de verificação e formatação de código. Essas ferramentas podem ajudar a garantir que seu código esteja em conformidade com o PEP 8 e facilitar a manutenção da legibilidade do código.
Conclusão
Seguir as diretrizes estabelecidas pelo PEP 8 é uma prática recomendada para escrever código Python legível e consistente. O código que segue o PEP 8 é mais fácil de entender, manter, depurar e colaborar com outros desenvolvedores.
Neste tutorial, você aprendeu sobre as principais diretrizes estabelecidas pelo PEP 8, incluindo convenções de nomenclatura, layout de código, indentação, comentários, espaços em expressões e declarações, recomendações de programação e dicas para garantir a conformidade com o PEP 8.
Lembre-se de que é importante ler a documentação completa do PEP 8 para se aprofundar nos tópicos discutidos neste tutorial. Além disso, utilizar ferramentas como linters e autoformatters pode ajudar em garantir que seu código esteja em conformidade com o PEP 8.
Ao escrever código Python bonito de acordo com o PEP 8, você contribui para a legibilidade, simplicidade e clareza do código, tornando-o mais fácil de entender e manter para você e outros desenvolvedores.