Hola.
Tengo un codigo legacy que me gustaria mejorar...... que propuestas "clean code" teneis ?
Antecedentes :
* Tenemos un obeto
rate que tiene 2 objetos Base y Total.
* Si ese objeto contiene valor en
Base , obtendremos la informacion de aqui
* Si
Base esta null la obtendremos de
Total * Tanto uno como el otro tenemos 2 atributos
AmountBeforeTax y
AmountAfterTax * En caso de que el
AmountBeforeTax tenga valor, lo obtendremos sino lo cogeremos del
AmountAfterTax * Si obtenemos el valor de
Total debemos dividir el valor por el
numdias * El valor obtenido se lo asignamos a
dia.getPrecio() en el atributo que toque ( segun del que hayamos obtenido el valor )
Double precio ;
// si nos pasan el nodo BASE
if (rate.getBase() != null) {
if (rate.getBase().getAmountBeforeTax() != null) {
precio = rate.getBase().getAmountBeforeTax().doubleValue();
dia.getPrecio().setAmountWithoutTax(precio);
} else {
precio = rate.getBase().getAmountAfterTax().doubleValue();
dia.getPrecio().setAmountWithTax(precio);
}
} else {
long numdias = DateRange.dateDiff(effectivedate.getTime(), expiredate.getTime());
// si nos pasan el nodo TOTAL
if (rate.getTotal().getAmountBeforeTax() != null) {
precio = rate.getTotal().getAmountBeforeTax().doubleValue();
precio = precio / numdias;
dia.getPrecio().setAmountWithoutTax(precio);
} else {
precio = rate.getTotal().getAmountAfterTax().doubleValue();
precio = precio / numdias;
dia.getPrecio().setAmountWithTax(precio);
}
}
Que opciones le veis ? como lo mejorariais ?
Saludos.