Guia do PEP 8: Convenções de Estilo de Código Python

Rodrigo VianaRodrigo Viana
5 min read

Vamos abordar agora um pouco sobre o PEP 8. Falarei resumidamente dos principais conceitos dessa convenção


Introdução:

Quando se trata de escrever código Python limpo, legível e consistente, seguir as diretrizes do PEP 8 é fundamental. O PEP 8 é um guia de estilo de código que define as convenções recomendadas para a escrita de código Python. Neste artigo, exploraremos em detalhes o PEP 8 e sua importância, fornecendo orientações práticas sobre como aplicar essas convenções para melhorar a qualidade do seu código.

O que é o PEP 8?

O PEP (Python Enhancement Proposal) é um mecanismo usado pela comunidade Python para propor melhorias, recursos e diretrizes para a linguagem Python. O PEP 8, em particular, é um PEP específico que fornece orientações sobre as convenções de estilo de código em Python. Essas convenções são recomendadas para garantir que o código seja legível, consistente e de fácil manutenção.

Seguir o PEP 8 é essencial para facilitar a colaboração entre desenvolvedores e garantir que o código seja compreensível por outros programadores, mesmo quando trabalham em projetos diferentes. Além disso, aderir ao PEP 8 pode ajudar a evitar erros comuns e melhorar a qualidade geral do código.

Convenções de Nomenclatura:

As convenções de nomenclatura no PEP 8 têm como objetivo garantir que os nomes de variáveis, funções, métodos, classes e módulos sejam descritivos e facilmente compreensíveis. Aqui estão algumas das principais diretrizes:

  • Use nomes em minúsculas para funções, métodos e variáveis.

  • Use underscores (_) para separar palavras em nomes compostos.

  • Evite nomes de uma letra para variáveis, a menos que sejam usadas como contadores em loops.

  • Use nomes em CamelCase para classes.

  • Evite nomes que sejam facilmente confundidos com palavras-chave do Python.

Exemplo de convenções de nomenclatura corretas:

def calcular_media(notas):
    total = 0
    for nota in notas:
        total += nota
    media = total / len(notas)
    return media

class Pessoa:
    def __init__(self, nome):
        self.nome = nome

Indentação e Espaçamento:

O PEP 8 define regras para a indentação e o espaçamento em Python, a fim de tornar o código mais legível. Aqui estão algumas diretrizes importantes:

  • Use 4 espaços para cada nível de indentação (não use tabulações).

  • Não misture espaços e tabulações para indentação.

  • Evite linhas em branco no início e no final do bloco de código.

  • Separe as funções e classes com duas linhas em branco.

  • Use espaços em branco ao redor de operadores e após vírgulas.

Exemplo de indentação e espaçamento adequados:

def somar(a, b):
    resultado = a + b
    return resultado

if condicao:
    print("Verdadeiro")
else:
    print("Falso")

Comprimento de Linha e Quebra de Linha:

O PEP 8 recomenda que as linhas de código tenham no máximo 79 caracteres de comprimento. Isso ajuda a garantir que o código seja legível em diferentes ambientes e evita a necessidade de rolagem horizontal constante. No entanto, o limite máximo é de 79 caracteres, não um requisito absoluto. Caso uma linha precise ser mais longa, é recomendado que não exceda 99 caracteres.

Além disso, o PEP 8 define algumas regras para a quebra de linha adequada:

  • Use parênteses, colchetes e chaves para quebrar uma linha de código em várias linhas, se necessário.

  • Quebre a linha antes do operador se a linha estiver muito longa.

  • Use caracteres de continuação () para indicar que uma linha está continuando na próxima.

Exemplo de comprimento de linha e quebra de linha adequados:

resultado = (valor1 + valor2 +
             valor3 + valor4)

if (condicao1 and condicao2 and
    condicao3):
    # Faça algo

Importações:

O PEP 8 oferece diretrizes para organizar as declarações de importação em seu código. Aqui estão algumas recomendações:

  • Importe cada módulo em uma linha separada.

  • Agrupe as importações em três seções: importações de bibliotecas padrão, importações de bibliotecas de terceiros e importações de módulos locais.

  • Ordene as importações alfabeticamente em cada seção.

Exemplo de declarações de importação adequadas:

import os
import sys

import requests
import numpy as np

from my_module import MyClass, my_function

Espaçamento em Expressões e Operadores:

O PEP 8 define diretrizes para o espaçamento em torno de expressões e operadores em Python. Aqui estão algumas recomendações:

  • Use espaços em branco em torno de operadores aritméticos, de atribuição, comparação e lógicos.

  • Use espaços em branco após vírgulas e pontos e vírgulas.

Exemplo de espaçamento adequado em expressões e operadores:

resultado = valor1 + valor2
valor_atualizado += 10
if valor1 > valor2 and valor3 < valor4:
    # Faça algo

Comentários e Documentação:

O PEP 8 fornece orientações sobre o uso adequado de comentários e docstrings para melhorar a legibilidade e a compreensão do código. Aqui estão algumas recomendações:

  • Use comentários para explicar partes complexas do código ou fornecer informações adicionais.

  • Comente de forma sucinta, evitando comentários redundantes.

  • Use docstrings para documentar funções, métodos, classes e módulos.

  • Siga as convenções de estilo para formatação de docstrings.

Exemplo de comentários e docstrings adequados:

# Calcula a média dos valores na lista
def calcular_media(valores):
    """
    Calcula a média dos valores na lista.

    Args:
        valores (list): Uma lista de valores numéricos.

    Returns:
        float: A média dos valores.
    """
    total = sum(valores)
    media = total
    media = total / len(valores)
    return media

Outras Recomendações:

Além das diretrizes mencionadas acima, o PEP 8 oferece algumas recomendações adicionais que podem ajudar a melhorar a qualidade e a consistência do seu código Python. Aqui estão algumas delas:

  • Use letras maiúsculas para constantes.

  • Evite linhas em branco desnecessárias.

  • Utilize espaços antes e depois de parênteses em chamadas de função.

Exemplo de aplicação de outras recomendações:

TAMANHO_MAXIMO = 1000

valor = (10 +
         20 +
         30)

resultado = minha_funcao(argumento1, argumento2)

Conclusão:

Seguir as convenções do PEP 8 é uma prática recomendada para todos os desenvolvedores Python. Adotar um estilo de código consistente e legível não só facilita a manutenção do código, mas também promove a colaboração e o entendimento entre os membros da equipe. Neste artigo, exploramos as principais diretrizes do PEP 8 e fornecemos orientações práticas para aplicar essas convenções em seu próprio código Python. Ao aderir ao PEP 8, você estará no caminho certo para escrever código Python de alta qualidade.

1
Subscribe to my newsletter

Read articles from Rodrigo Viana directly inside your inbox. Subscribe to the newsletter, and don't miss out.

Written by

Rodrigo Viana
Rodrigo Viana

Oi, eu sou o Rodrigo Viana, sou desenvolvedor web, mobile. Atuo como desenvoledor freelancer em pequenas, médias e grandes aplicações. No momento estou me especializando a fundo em Python. Minha próxima especialização será em Swift, onde já "arranho" alguma coisa.. No momento meu Blog terá artigos voltados a Python, em seguida, obviamente estará voltado a Swift. Isso não quer dizer que eu não possa postar qualquer coisa referente ao Swift, se isso acontecer é pelo simples motivo de eu ter estudado o assunto postado.