最佳答案
有时,if
语句可能相当复杂或长,因此为了便于阅读,最好在 if
之前提取复杂的调用。
例如:
if (SomeComplicatedFunctionCall() || OtherComplicatedFunctionCall())
{
// do stuff
}
变成这样
bool b1 = SomeComplicatedFunctionCall();
bool b2 = OtherComplicatedFunctionCall();
if (b1 || b2)
{
//do stuff
}
(假设例子不是 那个不好,它只是为了说明... 想象一下其他具有多个参数的调用,等等。)
但由于这种提取,我失去了短路评估(SCE)。