Como não aprender orientação a objetos: o excesso de ifs
4 minutos de leitura

Aglomerados de ifs aparecem com frequência, e chegam até a ter um aspecto engraçado. Em alguns casos poder dar a impressão de que estamos usando orientação a objetos, já que cada cláusula costuma envolver a invocação de um método, dependendo do tipo do objeto. Infelizmente, essa sensação é falsa, e chegou até a gerar o conhecido movimento anti if campaign na internet.
O exemplo a seguir mostra uma sequência de ifs que indicam condições distintas de execução:
public double calculaBonus(Funcionario f) {
if (f.getCargo().equals("gerente")) {
return f.getVendasDoMes() \* 0.05 + getSalario() \* 0.1;
} else if (f.getCargo().equals("diretor")) {
f.getVendasDoMes() \* + getSalario() \* + (Today.isDecember() ? getSalario() : );
} { f.getVendasDoMes() \* ; }
}
Autor(a)
Guilherme Silveira
Co-fundador da Alura. Com mais de 20 anos de ensino de tecnologia, criou mais de 100 cursos. Possui formação em engenharia de software, viés matemático e criativo, além de ser medalhista de ouro em competições nacionais de computação, tendo representado o Brasil nos mundiais. Participante de comunidades open source e de educação em tecnologia, tendo escrito 7 livros. Faz mágica e fala coreano no tempo livre.
Inscreva-se em nossa Newsletter
Fique por dentro de conteúdos, insights e oportunidades do universo tech. Receba novidades e lançamentos direto no seu e-mail.

