可能重复:
函数是否只有一个return语句?
一位程序员问我为什么总是在方法结束时返回?
我们都被教导在方法中只有一个return语句而不是遍布代码的多个return语句.
有什么好理由吗?
ang*_*son 19
有一种思想流派认为你应该有一个单一的入口点和一个退出点.如果你有更多,你应该重构代码更清楚.
我不赞成这个想法,并经常使用保护条款,如下所示:
public void DoSomethingOnMales(Person p)
{
if (p.Sex != Sex.Male)
return;
....
}
Run Code Online (Sandbox Code Playgroud)
当然,你仍然应该尝试限制返回的数量,因为它们中的太多,虽然本身并不坏,但这是一个很好的迹象,表明你有一个复杂的方法,应该尝试简化它.
| 归档时间: |
|
| 查看次数: |
2909 次 |
| 最近记录: |