给出下一个代码示例,您认为哪种方法更好,或者您能否想出另一种方式以更优雅的方式对其进行编码?如果使用重复代码或者使用重复条件
中如果
if(a || b) {
doAB();
}
if(b) {
doB();
}
重复的代码(两次doAB())(两次为 'B' 检查)重复的条件:
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();
}
你想做什么? –
第二个片段可能在功能上是错误的,因为如果'a'和'b'都为真,它会调用'doAB()'两次。 – Eran
我想避免重复的代码 –