【发布时间】:2016-01-18 22:04:26
【问题描述】:
if(var == something) {
A();
B();
} else if(var == something_else) {
A();
B();
C();
} else {
assert(false);
}
如何避免在if 两种情况下调用 A() 和 B() 的重复代码。我应该使用开关盒吗,
switch(var) {
case something:
case something_else:
A();
B();
break;
}
if (var == something_else)
C():
什么是更好的解决方案? switch 与 if else 有性能损失吗?
【问题讨论】:
-
来电顺序重要吗?
-
您给出的示例非常简单,在这种情况下尝试尽量减少代码重用似乎不值得。它只会让代码更难阅读。
-
@user694733,这只是我在复杂框架中尝试做的示例。