【发布时间】:2016-08-03 19:48:31
【问题描述】:
鉴于接下来的代码示例,您认为哪个更好,或者您能想出另一种更优雅的编码方式吗?
if 中的重复条件(两次检查 'b')
if(a || b) {
doAB();
}
if(b) {
doB();
}
重复代码(两次doAB()):
if(a) {
doAB();
}
if(b) {
doAB();
doB();
}
或混合...
if(a || b) {
doAB();
if(b) {
doB();
}
}
编辑:
一位同事提出了这个建议:
int mask = a?1:b?2:0;
switch(mask) {
case 2:
doB();
case 1:
doAB();
}
【问题讨论】:
-
你想做什么?
-
第二个 sn-p 可能在功能上是错误的,因为如果
a和b都为真,它会调用doAB()两次。 -
我想避免重复代码
-
如果 b 为真,在第一个和最后一个,你会运行 doAB 两次。
-
@danielsp 这取决于您的要求,我们不知道
标签: java performance optimization