php编码风格比较vs返回

时间:2014-07-19 06:49:47

标签: php if-statement coding-style return

我可以通过两种方式实现这一功能 一个为什么使用更多的返回并返回每次我不需要继续该功能和另一种方式使用 更多ifs,否则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;
}

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

1 个答案:

答案 0 :(得分:0)

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

我会这样做:

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. 您不创建临时变量,因为您不需要它们。

  3. 事实上,每个人在这些陈述中都有自己的编码偏好,如果所有的工作都可以使用它们中的任何一个。但是,即使看看你以前的代码 - 你犯了一些错误(使用null是不必要的)并且使用上面的版本会更难做到这样的错误