1

假设我有这个功能:

function isValid($premise){
    if($premise == 'foo')
    {
        return true;
    }

    return false;
}

正如你所看到的,else 语句被省略了,else 紧随其后的是 return 语句。为什么有些人会忽略它们?这是一种糟糕的编程习惯吗?

4

3 回答 3

6

无论是否缺少else. 这是风格和偏好的问题。

就我个人而言,我倾向于在 long 函数开始时检查某些条件时省略else only 。

我不认为这是不好的做法。在某些情况下,它会使代码更清晰。

于 2012-07-10T04:47:06.517 回答
3

在这两种情况下,行为和运行时完全相同 - 这纯粹是一种风格选择。

也许试试programmers.stackexchange.com进一步讨论哪种风格更好。

于 2012-07-10T04:46:55.870 回答
1

因为 return 终止/中断函数。

假设if条件执行然后它通过返回 true 来终止函数。如果if不运行,它将继续返回 false。

在您的代码中

function isValid($premise){
    if($premise == 'foo')
    {
        return true;//terminated the function and no more function is going to run
    }

    return false;//if it is running then it is very clear that if condition has not run because if it would have run then the if condition didn't run    }
于 2012-07-10T04:47:12.460 回答