Use If Else Pelo AMOR DE DEUS

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.
Autor
flpchapola@hotmail.com
Posts relacionados

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 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
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”
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
React Fiber é uma nova arquitetura introduzida pelo React para gerenciar o processo de renderização de forma mais eficiente. Ele visa melhorar...
Leia tudo