Como podemiamos tornar este código eficiente sem perder a legibilidade do código ?
switch (cenario) {
case 2:
case 3:
case 4:
this.alterarIdentificacaoParte(parteProcessoOriginal.getCpf(), parteProcesso.getCpf());
NumeroParte = new BigDecimal(String.valueOf(parteProcesso.getMatricula()));
tipoAutor = new BigDecimal(1); //Empregado
this.manterPartes(NumeroParte, tipoAutor, parteProcesso.getRazaoSocial(), 'I');
break;
case 5:
case 6:
case 7:
case 8:
this.alterarIdentificacaoParte(parteProcessoOriginal.getCodigoParteProcesso(), parteProcesso.getCpf());
NumeroParte = new BigDecimal(String.valueOf(parteProcesso.getMatricula()));
tipoAutor = new BigDecimal(1); //Empregado
this.manterPartes(NumeroParte, tipoAutor, parteProcesso.getRazaoSocial(), 'I');
break;
case 9:
case 10:
this.alterarIdentificacaoParte(parteProcessoOriginal.getCtps(), parteProcesso.getCpf());
NumeroParte = new BigDecimal(String.valueOf(parteProcesso.getMatricula()));
tipoAutor = new BigDecimal(1); //Empregado
this.manterPartes(NumeroParte, tipoAutor, parteProcesso.getRazaoSocial(), 'I');
break;
case 11:
this.alterarIdentificacaoParte(parteProcessoOriginal.getCtps(), parteProcesso.getCpf());
break;
case 12:
case 13:
case 14:
NumeroParte = new BigDecimal(String.valueOf(parteProcesso.getCpf()));
tipoAutor = new BigDecimal(2); //Pessoa Fisica
this.manterPartes(NumeroParte, tipoAutor, parteProcesso.getRazaoSocial(), 'I');
break;
case 15:
case 16:
this.alterarIdentificacaoParte(parteProcessoOriginal.getCodigoParteProcesso(), parteProcesso.getCpf());
break;
case 17:
this.alterarIdentificacaoParte(parteProcessoOriginal.getCodigoParteProcesso(), parteProcesso.getCtps());
break;
}
Podemos perceber que cada cenário executa a mesma coisa e infelizmente até onde sei a JAVA não possui um
switch que poderiamos usar igual ao Delphi, que utiliza em seus cases um limite de case(x…y):
Será que seria viável pedir pra lançar implementar um switch desses ?
A forma como o código estar funciona perfeitamente, só que estavamos conversando que talvés não seja a melhor forma de utilizar
tendo em vista que a performance talvés seria afetada, uma vez que faz passagem completa nos cases…
Vamos debater sobre o assunto…
Agradeço aos futuros comentários.
[color=red]EDIT: Inserido tags code (Rafael Nunes)[/color]