【发布时间】:2021-12-10 00:51:34
【问题描述】:
如何减少条件运算符的数量? 声纳显示主要问题,例如减少表达式中使用的条件运算符 (5) 的数量(最多允许 3 个),但所有条件都必须保留在此块中:
private String processfromOrigin(Object value) {
if ((value instanceof A) || (value instanceof B)
|| (value instanceof C) || (value instanceof D)
|| (value instanceof E)
|| (value instanceof F)) {
return ((baseDto) processo).getProcess();
} else if (value instanceof G) {
return ((G) value ).getProcess();
} else if (value instanceof H) {
return ((H) value ).getProcess();
} else {
return (String) value ;
}
}
【问题讨论】:
-
声纳只是给你建议。在这种情况下,您可以忽略它。这可能是一种气味,应该有一个 A...F 都应该实现的通用接口。
-
奇怪的是,您检查了
value,但随后又转换了processo