在php中返回值时,返回混合数据类型被认为是好的还是坏的做法.我正在开展一个项目,我经常遇到返回id号码的方法null.我null通过检查null和返回来处理该值,-1如果是的话null.
我发现自己的另一种情况是方法应该做什么并返回一个字符串.但有时候不能返回字符串,因为它没有找到或发生异常.这里最好的事情是什么?返回像'failed'之类的字符串?然后,这会在方法之间创建一个字符串耦合,因为调用方法必须确切地知道要检查的字符串失败消息?
编辑:好的,已经有一些不同的意见.我喜欢在失败时返回false的想法和实际结果,无论数据类型是成功的.但是......在这方面有什么最佳实践吗?我的意思是,在这些情况下,其他语言的程序员会做什么,例如java和c ++等?
返回混合类型是很糟糕的,至少在 2013 年的今天是这样。繁荣!解决的方法是将其拆分:
BAD,混合返回类型样式:
function checkResult($data)
{
if ($data) {
...
return $stuff;
} else {
return false;
}
}
Run Code Online (Sandbox Code Playgroud)
人们需要额外的逻辑来工作 checkRsult(),并且他们永远不知道到底会返回什么类型。
好,明确固定的返回类型样式:
也许这个例子不太好,但它展示了要走的路。
function doesResultExist($data)
{
if ($data) {
return true;
}
// default return
return false;
}
function getResultData()
{
...
return $stuff;
}
Run Code Online (Sandbox Code Playgroud)
Null是一个相当常见的返回值,表示没有返回值.如果函数想要根本不返回任何ID,则应返回null(不是"失败"或-1).
如果是特殊的,一个ID没有被发现,你应该抛出一个异常.
| 归档时间: |
|
| 查看次数: |
8301 次 |
| 最近记录: |