我应该返回null还是什么都不做?

时间:2014-03-05 14:05:46

标签: php

在PHP中,以下结果会产生相同的结果:

function bla1() {
    return null;
}

function bla2() {
    // nothing happening here...
}

所以,如果我这样做:

$bla1 = bla1();
$bla2 = bla2();

在这两种情况下,bla1和bla2的值实际上都是NULL。所以我的问题是,这是最佳做法? Bla1是更多的代码,但更明显的是你在做什么。但是bla2代码较少并且产生相同的结果。哪个更好?

3 个答案:

答案 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。如果该函数无意返回任何数据,则返回truefalse取决于函数是否成功执行。