【问题标题】:php coding style comparison vs returnphp 编码风格比较 vs 返回
【发布时间】:2014-09-10 08:02:43
【问题描述】:

我可以通过两种或多种方式实现该功能 一个为什么要使用更多的回报和回报,每次我不需要继续使用该功能,而另一种方法是使用 更多 ifs,else ifs, elses,

function getCountOfWhatEverMethodType1
{
    $return = false;
    // ----
    if($user->isLogged)
    {
        if(getDBOBlaBla->equal(1))
        {
            $return = 2;
        }
        else if(getDBOBlaBla->equal(2))
        {
            $return = 3;
        }
        else
        {
            $return = 1;
        }
    }
    // ----
    return $return;
}

function getCountOfWhatEverMethodType2
{
    if(!$user->isLogged)
    {
        return false;
    }
    $return = 1;
    // ----
    if(getDBOBlaBla->equal(1))
    {
        $return = 2;
    }
    else if(getDBOBlaBla->equal(2))
    {
        $return = 3;
    }
    // ----
    return $return;
}

我应该使用一个,为什么?

【问题讨论】:

    标签: php if-statement coding-style return


    【解决方案1】:

    如果你想返回一些东西,通常更好的选择是在满足条件时返回一些东西。

    我会这样做:

    function getCountOfWhatEverMethodType3()
    {
        if(!$user->isLogged)
        {
            return false;
        }
    
        // ----
    
        if(getDBOBlaBla->equal(1))
        {
            return  2;
        }
        if(getDBOBlaBla->equal(2))
        {
            return 3;
        }
    
        return 1;
    }
    

    对我来说,这种风格更好有两个原因:

    1. 您可以删除一些 if/else 语句,这样您就可以更快地编写代码,并且在您需要修改或分析时使用更少的代码

    2. 您不会创建临时变量,因为您不需要它们。

    事实上,每个人在这些语句中都有自己的编码偏好,如果一切正常,您可以使用其中任何一个。但即使看看你以前的代码 - 你犯了一些错误(使用 null 是不必要的)并且使用上面的版本会更难犯这样的错误

    【讨论】:

    • 嘿,谢谢我更新了我之前犯过一些错误的代码
    • 我明白了,但我仍然不明白为什么在 2 或 1 中使用 Type3 更好(如果是的话)
    • @user3301396 解释添加
    猜你喜欢
    • 1970-01-01
    • 2016-03-21
    • 1970-01-01
    • 1970-01-01
    • 2015-11-06
    • 1970-01-01
    • 2011-07-18
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多