我从下面的代码中得到了循环复杂度(此方法“mapRow”的循环复杂度为 13,大于 10 授权
):
public RedemptionReport mapRow(ResultSet rs, int row) throws SQLException {
RedemptionReport redemptionReport = new RedemptionReport();
redemptionReport.setRedeemDate(rs.getString(1));
redemptionReport.setCashierID(rs.getString(2) != null? rs.getString(2) : "");
redemptionReport.setTillNo(rs.getString(3) != null? rs.getString(3) : "");
redemptionReport.setReferenceNumber(rs.getString(4) != null? rs.getString(4) : "");
redemptionReport.setTransactionNumber(rs.getString(5) != null? rs.getString(5) : "");
redemptionReport.setRedemptionAmount(rs.getString(6) != null? rs.getString(6) : "0");
redemptionReport.setNetBillValues(rs.getString(7) != null? rs.getString(7) : "0");
redemptionReport.setStoreCode(rs.getString(8) != null? rs.getString(8) : "");
redemptionReport.setCardNumber(rs.getString(9) != null? rs.getString(9) : "");
redemptionReport.setCardType(rs.getString(10) != null? rs.getString(10) : "");
redemptionReport.setStoreDesc(rs.getString(11) != null? rs.getString(11) : "");
redemptionReport.setZoneDesc(rs.getString(12) != null? rs.getString(12) : "");
redemptionReport.setMobileNo(rs.getString(13) != null? rs.getString(13) : "");
redemptionReport.setSchemeName(rs.getString(14));
return redemptionReport;
}
如何从上面的代码中消除这种复杂性?
最佳答案
创建一个封装三元运算符的方法,例如:
private String get(String val, String def) {
return val != null ? val : def
}
或者更简单:
private String get(String val) {
return val != null ? val : ""
}
关于java - 如何消除圈复杂度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37914939/