关于函数设计,命名规范什么的我就不说了。
就php而言,php是一门弱类型语言,不能直观的看出参数和返回值类型。又是这会让代码阅读者困惑。
比如
function GetMainClassifyFromDB()
{
............................................
}
对于这样一个函数看不出什么问题。
但是我们来讨论两种情况:
一种是函数中途某种操作执行失败了,需要高速调用者返回false
另一种情况是操作成功需要返回结果,假设结果为空。
对于前者false,对于后者什么也没有。
如果有以下代码
$result = GetMainClassifyFromDB()
{
if(!$result)
{
错误处理代码
}
}
显然这段代码是有问题的。
对返回值做类型判断,又显得很麻烦。
解决方案:
运行结果通过参数返回,函数返回值仅仅表示函数运行成功或者失败。
这样函数参数分为两类:输入参数和输出参数,输出参数放在右边即可。
比如:
function GetMainClassifyFromDB(&$result)
{
if(!ConnectDB())
{
return false;
}
.........
//将所有主分类放入$result中
.........
return true;
}
这样子我们的代码就很容易写了