Я хочу знать, что следующие два кода могут быть дополнительно уменьшены. Им дают проблемы сложности в моем сервере сонара. Нужно, чтобы некоторые специалисты помогли решить эту проблему без ущерба для существующей логики. Я использую Java 8, это также хорошо, их любой простой способ в Java 8 тоже.
Код 1:
private DateTime GDT(final P1 prescriptionStartTimeHelper, P2doseDetailModel, P3 prescriptionModelSpi,
final P4 prescriptionFacade) {
final DepositModelSpi depositModel = //
final DateTime userSetDateValue = //
DateTime depositTime = //
if ((userSetDateValue != null) && (DepositType.DATE == depositModel.getDepositTypeConstraint().getValue())) {
final DosageMixedType doseType = //
final LocalTime userSetLocalTime = //
switch (doseType) {
case A:
// find the unit time list
final List<LocalTime> unitTimeList = //
if (!unitTimeList.contains(userSetLocalTime)) {
final LocalTime firstOccasionTime = unitTimeList.get(0);
depositTime =//
} else {
depositTime = //
}
break;
case B:
final LocalTime doseTime = //;
depositTime = //
break;
case C:
case D:
case E:
case F:
case G:
depositTime = //;
break;
default:
depositTime = //
}
}
return depositTime;
}