我想减少我的开关罩的圈复杂度 我的代码是:减少圈复杂的switch语句 - 声纳
public String getCalenderName() {
switch (type) {
case COUNTRY:
return country == null ? name : country.getName() + HOLIDAY_CALENDAR;
case CCP:
return ccp == null ? name : ccp.getName() + " CCP" + HOLIDAY_CALENDAR;
case EXCHANGE:
return exchange == null ? name : exchange.getName() + HOLIDAY_CALENDAR;
case TENANT:
return tenant == null ? name : tenant.getName() + HOLIDAY_CALENDAR;
default:
return name;
}
}
此代码块的复杂性是16,并希望将其降低到10 国家, ccp,exchange和tenant是我不同的对象。基于类型我会调用它们各自的方法。
“这个代码的复杂度是16,并且想把它降低到10”为什么不把它降低到9?或8?还是11?为什么16有问题? –
根据我的声纳规则,我希望它低于10,如果我们可以进一步降低它将会很好。 @AndyTurner –
@AmarMagar你忘了在每种情况下添加break语句还是故意的?我不确定添加break语句是否有助于减少圈复杂度。 –