它被认为是一种不好的做法,使用return来结束一个函数?

时间:2011-05-11 04:25:25

标签: programming-languages

我是PHP和ActionScript开发人员,在我的一些函数中,我使用return来结束它。例如:

private function lolsome(a:String):void
{
   if(a == "abs"){return void;}

   // function's code      
}

我可以将函数的代码放入else,但我更喜欢这种方式,因为在我看来,这更容易辨认。我只是想知道这是否被认为是一种不好的做法或类似的事情。

谢谢!

5 个答案:

答案 0 :(得分:5)

不。一点也不。事实上,它通常是一个重要的控制流程:

for x in someiterable:
    if somecondition:
        return somevalue
return None

如果您正在迭代查找满足特定条件的序列,则可能会出现这种情况。如果您发现了某些内容,则将其返回并阻止进一步处理。如果您从未找到它,则返回默认值。

答案 1 :(得分:4)

如果你在长期复杂的函数中返回,我只会认为这是不好的做法,因为在查看算法时,其他人可能更难理解算法。但是,首先要有大的长函数是不好的做法(它们通常应该分成多个较小的函数)。

总的来说,我会考虑在函数开头验证参数和状态,然后返回做好练习,甚至不行。

但是仍然要注意不要在主逻辑中乱丢几个不同回报的函数。

答案 2 :(得分:1)

我根本不认为这是不好的做法。它被广泛使用。

答案 3 :(得分:1)

有关进一步有趣的阅读,请在Google上查询"multiple vs single return"。那里有很多热量。替代方案通常是保持你的返回状态,最后只返回一次。就个人而言,我宁愿尽快抛弃,而不是冒一些国家进一步修改的风险;更小的更集中的方法有助于阻止这种情况发生。

我说你的练习很好。

答案 4 :(得分:0)

当我懒得宣布旗帜并测试它时,我会使用它。但事实是:如果你在代码中间使用break,return和那种指令,你有时必须在添加函数时重构它。

所以我认为这是一种不好的做法,但非常习惯。嗯,这只是我的意见:p