让我们说一个例子我有这个功能:
function isValid($premise){
if($premise == 'foo')
{
return true;
}
return false;
}
正如您所看到的,else语句被省略,否则紧接着是return语句。为什么有些人会省略它们?这是一个糟糕的编程习惯吗?
答案 0 :(得分:5)
无论是否有else
,都会生成相同的代码。这是风格和偏好的问题。
在长函数开始时检查某些条件时,我个人倾向于省略else
。
我不认为这是不好的做法。在某些情况下,它可以提供更清晰的代码。
答案 1 :(得分:3)
在这两种情况下,行为和运行时完全相同 - 它纯粹是一种风格选择。
也许请尝试programmers.stackexchange.com进一步讨论哪种风格更好。
答案 2 :(得分:1)
因为return会终止/中断函数。
如果if
条件执行,则返回true,然后通过返回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 }