可能重复:
Is it bad style to use return at the beginning of a function to avoid doing unnecessary work?
除了个人品味之外,还有其他考虑因素可以提前返回,或者使用if中包含的长方法:
foo(bool bar)
{
if(!bar)
{
return;
}
...
}
foo(bool bar)
{
if (bar)
{
...
return;
}
}
答案 0 :(得分:2)
使用
foo(bool bar)
{
if (bar)
{
...
return;
}
}
如果你有多个条件要在if-block中测试,那么会有点毛茸茸。如:
foo(bool bar)
{
if (bar)
{
...
if (baz)
{
...
if (barbaz)
{
...
}
}
return;
}
}
在这种情况下,如果你提前返回,你会减少大量的嵌套。
foo (bool bar)
{
if (!bar) return;
...
if (!baz) return;
...
if (!barBaz) return;
...
return;
}
事实上,作为ReSharper用户,我经常使用代码重新格式化sugestion“反转if if to reduce nesting”。最后我认为这是一个偏好的东西,但对我而言,当没有太多嵌套ifs来匹配大括号时,它似乎更具可读性。