相关疑难解决方法(0)

函数应该返回null还是空对象?

从函数返回数据时的最佳做法是什么.返回Null或空对象更好吗?为什么要一个人做另一个呢?

考虑一下:

public UserEntity GetUserById(Guid userId)
{
     //Imagine some code here to access database.....

     //Check if data was returned and return a null if none found
     if (!DataExists)
        return null; 
        //Should I be doing this here instead? 
        //return new UserEntity();  
     else
        return existingUserEntity;
}
Run Code Online (Sandbox Code Playgroud)

让我们假设在这个程序中有效的案例,数据库中没有该GUID的用户信息.我想在这种情况下抛出异常是不合适的?此外,我的印象是异常处理可能会损害性能.

.net c# function return-value

209
推荐指数
9
解决办法
9万
查看次数

我怎么解释如果(xyz == null)检查不是"保护"

我有一些开发人员经常把If If检查

例如:

Run(Order order)
{
  if (order == null) return;
}
Run Code Online (Sandbox Code Playgroud)

在他们的代码中,因为他们认为如果有人传入一个null参数,他们就会保护他们的类.我想告诉他们的缺陷在他们的逻辑,因为如果有人传入null在这种情况下,最有可能的问题与消费者的代码,而是这个类的抛出异常和故障的快速,它优雅地处理的不良行为消费者并继续努力.

另一个建议是让前提条件或防护类快速失败并抛出异常.任何事情,但忽略了消费者可能有一些其他问题的事实,我帮助掩盖它.

我如何让人们欣赏你的班级不应该如此宽容的事实.如果有人没有传递好的数据,应该告诉他们.

任何好的文章或建议,以帮助我理解这一点?

c# preconditions

4
推荐指数
2
解决办法
534
查看次数

标签 统计

c# ×2

.net ×1

function ×1

preconditions ×1

return-value ×1