除了个人喜好之外,是否还有其他考虑是否要提前返回或使用 if 包含一个长方法,例如:
foo(bool bar)
{
if(!bar)
{
return;
}
...
}
对比
foo(bool bar)
{
if (bar)
{
...
return;
}
}
除了个人喜好之外,是否还有其他考虑是否要提前返回或使用 if 包含一个长方法,例如:
foo(bool bar)
{
if(!bar)
{
return;
}
...
}
foo(bool bar)
{
if (bar)
{
...
return;
}
}
使用
foo(bool bar)
{
if (bar)
{
...
return;
}
}
如果您在 if 块中有多个条件要测试,可能会有点麻烦。如:
foo(bool bar)
{
if (bar)
{
...
if (baz)
{
...
if (barbaz)
{
...
}
}
return;
}
}
在这种情况下,如果你提前返回,你会减少很多嵌套。
foo (bool bar)
{
if (!bar) return;
...
if (!baz) return;
...
if (!barBaz) return;
...
return;
}
事实上,作为 ReSharper 用户,我经常使用代码重新格式化建议“反转 if 以减少嵌套”。最后,我认为这是一个偏好,但对我来说,当没有太多嵌套的 if 来匹配大括号时,它似乎更具可读性。