我见过一些看起来像这样的代码:
if (a) return false;
if (b) return false;
if (c) return false;
return true;
Run Code Online (Sandbox Code Playgroud)
上面和之间的表现有什么不同
if (a || b || c) return false;
else return true;
Run Code Online (Sandbox Code Playgroud)
一般来说,处理这个问题的首选案例是什么?也许在我的第二个例子中没有别的?
编辑:似乎很多人误导我返回真或假并建议返回!(a || b || c).这不是我想问的问题.想象一下,如果不是返回true或false,我想返回"Yes"或"No",或23423或3.
任何一个的唯一优点是可读性,优化编译器为这两种情况生成几乎相同的代码是合理的.
如果3次测试很短,则return !(a||b||c);完全合理
但是,如果它们是长函数调用,那么您的第一个示例将更容易阅读.