Post original no LinkedIn. O conteúdo abaixo é um registro do que aprendi com o post. Nada aqui foi autoria minha.
O uso correto do If em Java
...e como evita-lo!
O if
deve ser usado quando é necessário tomar decisões diretas e locais no código. No entanto, o uso excessivo pode indicar que a lógica não está bem estruturada.
✅ Para decisões simples e pontuais
if (idade >= 18) {
System.out.println("Você pode dirigir!");
}
✅ Para validar entradas e lançar exceções
if (valor <= 0) {
throw new IllegalArgumentException("O valor deve ser positivo!");
}
✅ Para fluxos simples dentro de loops
for (Produto produto : listaProdutos) {
if (produto.getPreco() > 100) {
System.out.println(produto.getNome() + " é caro!");
}
}
Quando evitar o if
❌ Muitos if-else
aninhados.
➡️ Prefira polimorfismo ou o padrão Strategy
❌ Controle de muitos estados
➡️ O padrão State é mais eficiente
❌ Escolha entre várias opções fixas
➡️ Use um Map
ao invés de if-else
gigante
Exemplo de substituição do if-else
por um Map
Map<String, Runnable> operacoes = Map.of(
"PIX", this::processaPix,
"BOLETO", this::processaBoleto
);
operacoes.getOrDefault(tipo, () -> {
throw new IllegalArgumentException("Tipo inválido");
}).run();
O if
não é o vilão, mas se espalhar pelo código pode ser um sinal de alerta. Prefira abstrações inteligentes para evitar a complexidade desnecessária.