¿Cómo podría mejorar las declaraciones if-else anidadas, por ejemplo, en el siguiente ejemplo de código (los números no son necesariamente los mismos, solo un ejemplo):
boolean a, b;
int result = 0;
if (a && b) {
result = 3;
} else if (a) {
result = 1;
} else if (b) {
result = 2;
}
¿Podría escribirse mejor de alguna manera? ¿O pensarías que está bien tal como está?
- membersound
SourceSi coloca esto en un método, puede regresar directamente, lo que lo hace más legible, también elimina esta lógica a una ubicación separada:
public int getThing(final boolean a, final boolean b) {
if (a && b) {
return 3;
}
if (a) {
return 1;
}
if (b) {
return 2;
}
return 0;
}
No creo que el uso de operadores binarios o el operador ternario realmente te compre mucho, excepto el dolor futuro tratando de averiguar qué hiciste y por qué lo hiciste, digamos, dentro de un año.