可能重复:
为什么一个函数应该只有一个出口点?
作为一名计算机科学专业的学生,我一直认为函数中应该只有一个出口点,最后。
例如。这:
function foo()
{
//do stuff here
if($bar)
{
$out = FALSE;
}
else
{
$out = TRUE;
}
return $out;
}
不是:
function foo()
{
//do stuff here
if($bar)
{
return FALSE;
}
return TRUE;
}
然而,我已经看到第二种退出类型经常在其他人的 php 代码中使用,甚至在某些框架的核心代码中(比如我最近一直在使用的 Kohana)。这种退出函数的方法在 php 标准中被认为可以吗?
编辑:我可以明白为什么有人告诉我不要这样做,因为它可以更容易地跟踪一个退出点的函数中的某些问题,其他时候我可以看到为什么应该允许它,因为其他问题可以更好地解决或跟踪具有多个退出点的函数。
编辑 2:在代码示例中添加了“do stuff here”注释以使人们开心