Pular para o conteúdo

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.