在PHP中,以下结果会产生相同的结果:
function bla1() {
return null;
}
function bla2() {
// nothing happening here...
}
所以,如果我这样做:
$bla1 = bla1();
$bla2 = bla2();
在这两种情况下,bla1和bla2的值实际上都是NULL。所以我的问题是,这是最佳做法? Bla1是更多的代码,但更明显的是你在做什么。但是bla2代码较少并且产生相同的结果。哪个更好?
答案 0 :(得分:6)
如果该函数是为了返回某些内容,例如:如果某个对象存在,则为null
,如果不存在,则返回null
使其显式化。
如果该函数不是要返回某些内容,则不要让它返回null
。如果您需要提前退出函数,则可以单独使用return
个语句。
答案 1 :(得分:2)
在大多数软件开发项目中,适用20-80规则。您将花费20%的时间来开发软件,80%的时间用于维护软件。考虑到这一规则,代码可读性在帮助您和您的同事维护软件方面变得非常重要。
如果您选择
function bla2() //not advisable
{
// nothing happening here...
}
当他们在以后查看代码时,您会怀疑同事的想法是什么是代码的实际功能
我会明白并选择
function bla1() //advisable
{
return null;
}
答案 2 :(得分:2)
如果函数倾向于返回数据,则在没有任何内容返回时返回数据或null
。如果该函数无意返回任何数据,则返回true
或false
取决于函数是否成功执行。