作为一名CS学生,我已经击败了我的脑袋,最后在一个功能中应该只有一个出口点。
例如。这样:
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:在代码示例中添加了“在这里做点什么”评论以使人们满意
答案 0 :(得分:2)
我一直使用后一种方法,因为你必须声明$out
并且还有一个变量存在。但回想起来,它只是一个布尔 - 它没有造成任何伤害。第一条路线可能看起来更干净,具体取决于您的代码的上下文。
这一切都归结为一致性。只要你有一个系统,确定何时使用路线1或路线2,你就会做得很好。
答案 1 :(得分:2)
这是一个中的六个,或者是另外六个 - 幸福在于一致性。
答案 2 :(得分:2)
我已经看到(好)代码返回值两种方式。如果您正在使用一直使用单向的框架/代码库,我会遵循这一点。否则,请使用您喜欢的东西。 :d