我想知道下面两个代码的复杂度可以进一步降低。他们在我的声纳服务器中遇到了复杂性问题。需要一些专家帮助解决这个问题,而不损害现有的逻辑。我使用的是Java8,在Java8中,任何简单的方法都可以。
代码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;
}