digitalinnovationone / trilha-python-dio

3.12k stars 4.56k forks source link

Comentar melhor o código do desafio #12

Open RaulVictorSouto opened 1 year ago

RaulVictorSouto commented 1 year ago

Sugiro dividir o código em partes de acordo com as funções, por exemplo:

**# ================= Função de Criar Usuário ==================== #**
def criar_usuario(usuarios):
    cpf = input("Informe o CPF (somente número): ")
    usuario = filtrar_usuario(cpf, usuarios)

    if usuario:
        print("\n@@@ Já existe usuário com esse CPF! @@@")
        return

    nome = input("Informe o nome completo: ")
    data_nascimento = input("Informe a data de nascimento (dd-mm-aaaa): ")
    endereco = input("Informe o endereço (logradouro, nro - bairro - cidade/sigla estado): ")

    usuarios.append({"nome": nome, "data_nascimento": data_nascimento, "cpf": cpf, "endereco": endereco})

    print("=== Usuário criado com sucesso! ===")

**# ================= Função Filtrar Usuários ==================== #**
def filtrar_usuario(cpf, usuarios):
    usuarios_filtrados = [usuario for usuario in usuarios if usuario["cpf"] == cpf]
    return usuarios_filtrados[0] if usuarios_filtrados else None

**# ================= Função Criar Conta ================ #**
def criar_conta(agencia, numero_conta, usuarios):
    cpf = input("Informe o CPF do usuário: ")
    usuario = filtrar_usuario(cpf, usuarios)

    if usuario:
        print("\n=== Conta criada com sucesso! ===")
        return {"agencia": agencia, "numero_conta": numero_conta, "usuario": usuario}

    print("\n@@@ Usuário não encontrado, fluxo de criação de conta encerrado! @@@")

**# ================= Função Lista Conta ================= #**
def listar_contas(contas):
    for conta in contas:
        linha = f"""\
            Agência:\t{conta['agencia']}
            C/C:\t\t{conta['numero_conta']}
            Titular:\t{conta['usuario']['nome']}
        """
        print("=" * 100)
        print(textwrap.dedent(linha))

Isso ajuda na leitura e organização me determinadas IDE's como o Google Colaboratory

carlos-moreno commented 8 months ago

Referente a questão de comentários no código, o Python possui a PEP-257 que trata das boas práticas quanto ao tema de documentação no código, lá possui excelentes exemplos de como criar as docstrings e assim seguir as convenções da comunidade.