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.
 
 



