【问题标题】:Does exiting function with return sooner have any practical value早点退出退出函数有什么实用价值吗
【发布时间】:2022-01-03 19:19:26
【问题描述】:

假设我有这两个功能:

function foo(int $a): void
{
    if ($a > 5) {
        doThis();
        return;
    }

    doThat();
}

function bar(int $a): void
{
    if ($a > 5) {
        doThis();
    } else {
        doThat();
    }
}

退出函数而不是使用else 语句有什么实际优势吗?

【问题讨论】:

    标签: php if-statement return


    【解决方案1】:

    从技术上讲,您问题中的两段代码没有区别。

    有时更快地返回可以提高函数的可读性,因为嵌套语句更少。

    意见:然而,我不喜欢在长函数中途返回。我更喜欢我的所有函数/方法返回一些东西,并在函数结束时这样做。在课堂上,当我没有东西可以返回时,我总是使用return $this;,所以我可以使用method chaining

    【讨论】:

    • 对于意见部分,如果只在最后返回,调试时会变得困难。中途退货可以让你知道函数中没有进一步的业务。
    • @nice_dev:是的,这是真的,这就是为什么它是一种观点。真正的原因是我只是习惯了我的函数在最后返回一些东西,所以当我快速扫描代码时,我可能会错过中间的返回。因此,如果您喜欢中间的回报,那对我来说很好。更糟糕的是,我编写的函数会提前返回。
    • 好吧,很公平。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-03-31
    • 2016-04-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多