【发布时间】:2013-07-05 08:59:41
【问题描述】:
如果无法修改Event接口,如何重构以下方法? PMD 报告太复杂,findbugs 报告 ITC_INHERITANCE_TYPE_CHECKING。还有3、4、5等幻数。
public int getEventCode(Event event) {
if (event instanceof OneEvent) {
return 1;
}
if (event instanceof TwoEvent) {
return 2;
}
if (event instanceof ThreeEvent) {
return 3;
}
if (event instanceof FourEvent) {
return 4;
}
if (event instanceof FiveEvent) {
return 5;
}
if (event instanceof SixEvent) {
return 6;
}
if (event instanceof SevenEvent) {
return 7;
}
if (event instanceof EightEvent) {
return 8;
}
if (event instanceof NineEvent) {
return 9;
}
if (event instanceof TenEvent) {
return 10;
}
return event.getClass().hashCode() + 10;
}
【问题讨论】:
标签: java refactoring findbugs pmd