我正在尝试遵循Bob叔叔的干净代码建议,尤其是要使方法简短。
我发现自己无法缩短此逻辑:
if (checkCondition()) {addAlert(1);}
else if (checkCondition2()) {addAlert(2);}
else if (checkCondition3()) {addAlert(3);}
else if (checkCondition4()) {addAlert(4);}
我无法删除其他元素,因此将整个事物分解为较小的部分,导致“其他条件”中的“其他”有助于性能-评估这些条件的成本很高,如果我可以避免评估以下条件,请导致第一个条件是的,我想避免它们。
即使从语义上来讲,从业务的角度来看,如果满足下一个条件,评估下一个条件也是没有意义的。
编辑:此问题被认为是处理if(if else)else的优雅方式的可能重复。
我相信这是一个不同的问题(通过比较这些问题的答案,您也可以看到它)。
- 我的问题是检查第一个接受条件是否很快结束。
- 链接的问题试图使所有条件都可以接受,以便做某事。(从该问题的最佳答案中可以看出:https : //softwareengineering.stackexchange.com/a/122625/96955)