有没有什么办法可以减少以下Java代码的“循环复杂性”?

时间:2019-05-16 01:39:03

标签: java java-8 sonarqube switch-statement cyclomatic-complexity

我想知道以下两个代码的复杂度可以进一步降低。在我的声纳服务器中给了他们复杂性问题。需要一些专家帮助解决此问题而又不破坏现有逻辑。我正在使用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;
}

0 个答案:

没有答案