×

Quando se trata de programar, todo mundotem suas preferências. Algumas pessoas adoram programar de forma concisa e eficiente, enquanto outras preferem um código mais explícito e facilmente compreensível. No entanto, há uma prática de programação que mexe com a minha sanidade, e sinceramente espero que você também se incomode com ela: a omissão do tradicional comando if-else.

Por Que If-Else é Importante

A estrutura if-else é uma das construções mais básicas e fundamentais em praticamente todas as linguagens de programação. Ela permite que o programa tome decisões com base em condições booleanas, fazendo o fluxo do programa ser mais claro e lógico.

Considere o seguinte exemplo em Python:

if temperatura > 30:
    print("Está quente lá fora!")
else:
    print("Está agradável ou frio lá fora.")

Este código é fácil de ler e entender. Ele mostra claramente que existem duas condições distintas: uma para quando a temperatura está acima de 30 graus e outra para todas as outras situações.

A Trapaça do Return Adiantado

Uma prática que muitos programadores modernos adotam é a utilização do retorno adiantado para evitar if-else. Embora possa resultar em código um pouco mais curto, ele sacrifica a clareza em favor da concisão.

Veja um exemplo em Python:

def verificar_temperatura(temperatura):
    if temperatura > 30:
        return "Está quente lá fora!"
    return "Está agradável ou frio lá fora."
    
print(verificar_temperatura(35))  # Output: Está quente lá fora!
print(verificar_temperatura(25))  # Output: Está agradável ou frio lá fora.

Aqui, a estrutura if-else foi substituída por um retorno adiantado. Embora funcione, esse tipo de código pode rapidamente se tornar difícil de seguir, especialmente em funções mais complexas.

Quando a Concisão Ultrapassa a Legibilidade

Vamos considerar um exemplo mais complexo para ilustrar por que a legibilidade é tão importante:

def verificar_temperatura(temperatura, esta_ensolarado):
    if temperatura > 30:
        if esta_ensolarado:
            return "Está quente e ensolarado lá fora!"
        return "Está quente mas nublado lá fora."
    if temperatura > 20:
        if esta_ensolarado:
            return "Está agradável e ensolarado lá fora!"
        return "Está agradável mas nublado lá fora."
    return "Está frio lá fora."
    
print(verificar_temperatura(35, True))  # Output: Está quente e ensolarado lá fora!
print(verificar_temperatura(25, False))  # Output: Está agradável mas nublado lá fora.

Neste exemplo, a ausência de if-else faz com que a lógica se torne difícil de seguir e entender rapidamente. Se adicionarmos mais condições, a legibilidade só piora.

A Ergonomia do If-Else

A estrutura if-else oferece uma ergonomia natural para o código. Ela permite que os programadores visualizem claramente as ramificações lógicas e as possíveis ações que o programa pode tomar.

Vamos reescrever o exemplo anterior usando if-else de forma mais clara:

def verificar_temperatura(temperatura, esta_ensolarado):
    if temperatura > 30:
        if esta_ensolarado:
            return "Está quente e ensolarado lá fora!"
        else:
            return "Está quente mas nublado lá fora."
    elif temperatura > 20:
        if esta_ensolarado:
            return "Está agradável e ensolarado lá fora!"
        else:
            return "Está agradável mas nublado lá fora."
    else:
        return "Está frio lá fora."
    
print(verificar_temperatura(35, True))  # Output: Está quente e ensolarado lá fora!
print(verificar_temperatura(25, False))  # Output: Está agradável mas nublado lá fora.

Nesta versão, a lógica do código é mais explícita e fácil de seguir, tornando a manutenção e depuração do código muito mais simples.

Conclusão

Em resumo, a clareza do código deve sempre ser uma prioridade. Embora práticas como o retorno adiantado possam tornar o código mais conciso, elas frequentemente comprometem a legibilidade e a compreensão. Portanto, pelo bem da sanidade de todos os programadores, por favor, use if-else.

Se isso não for suficiente para convencer, considere que manter um código limpo e legível não é apenas uma questão de preferência pessoal; é uma responsabilidade compartilhada para garantir que todos possam entender, contribuir e manter o código no futuro.

Deixe um comentário

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

Autor

flpchapola@hotmail.com

Posts relacionados

Substituindo ESLint e Prettier: Biome simplifica linting e formatação em um só lugar!

Substituindo ESLint e Prettier: Biome simplifica linting e formatação em um só lugar!

Nos meus novos projetos, tenho substituído o ESLint e Prettier pelo Biome. Um dos grandes destaques do Biome é que ele já...

Leia tudo
10 Dicas de CSS para Melhorar Seus Layouts e se Tornar um Desenvolvedor Melhor

10 Dicas de CSS para Melhorar Seus Layouts e se Tornar um Desenvolvedor Melhor

10 Ferramentas para Melhorar suas Habilidades como Desenvolvedor Se você está buscando formas de se tornar um desenvolvedor mais eficiente e habilidoso,...

Leia tudo
Substituindo ESLint e Prettier pelo Biome: Uma Solução Completa para Linting e Formatação de Código

Substituindo ESLint e Prettier pelo Biome: Uma Solução Completa para Linting e Formatação de Código

Nos meus novos projetos, tenho substituído o ESLint e Prettier pelo Biome. Um dos grandes destaques do Biome é que ele já...

Leia tudo
"10 Classes do Tailwind Que Você Gostaria de Ter Conhecido Antes"

“10 Classes do Tailwind Que Você Gostaria de Ter Conhecido Antes”

O Tailwind CSS é uma estrutura de CSS poderosa e flexível, ideal para projetos de front-end que requerem desenvolvimento rápido e alta...

Leia tudo
Explorando a Arquitetura e Conceitos Fundamentais do React Fiber para Otimização de Performance

Explorando a Arquitetura e Conceitos Fundamentais do React Fiber para Otimização de Performance

React Fiber é uma nova arquitetura introduzida pelo React para gerenciar o processo de renderização de forma mais eficiente. Ele visa melhorar...

Leia tudo
10 Dicas para Se Tornar um Desenvolvedor Melhor e Aumentar Suas Habilidades

10 Dicas para Se Tornar um Desenvolvedor Melhor e Aumentar Suas Habilidades

Em um mercado cada vez mais competitivo, tornar-se um desenvolvedor de alta performance é essencial para garantir relevância e sucesso. A seguir,...

Leia tudo