我有一些看起来像这样的代码:
if (a == 0 or b == 0) {
if (c == true) {
return 0
else if (a == 0)
a = 1
c = true
else if (b == 0)
b = 1
c = true
}
}
编写此代码的最有效方法是什么,而无需再次检查a或b中的哪一个等于0?这可能已经回答了,但我不知道人们会怎么问这个问题。
答案 0 :(得分:1)
您可以尝试压缩并删除一些不必要的if/else
块:
if ((a == 0 && c == true) || (b == 0 && c == true)) {
// Since we return here, we don't need the if/else blocks after this
return 0;
}
if (a == 0) {
a = 1;
} else if (b == 0) {
b = 1;
}
// If we reach this point, c is always true regardless of a or b
c = true;
但总的来说,代码的效率几乎保持不变,因此您可能也想考虑可读性。
答案 1 :(得分:0)
你绝对不需要最后if(b == 0)
if (a == 0 or b == 0) {
if (c == true) {
return 0
else if (a == 0)
a = 1
c = true
else
b = 1
c = true
}
}