【发布时间】:2010-01-11 21:57:00
【问题描述】:
我有一个返回 bool 的简单方法,但它在内部加载了各种对象。
我为每个检查 null,但它变得非常难看。
有没有更好的办法?
public bool SomeTest(int id1)
{
bool result = false;
User user = userDao.GetById(id1);
if(user != null)
{
Blah blah = blahDao.GetById(user.BlahId);
if(blah != null)
{
FooBar fb = fbDao.GetById(blah.FooBarId);
if(fb != null)
{
// you_get_the_idea!
}
}
}
return result;
}
有没有一种模式可以使它更内联而不是嵌套的 if?
【问题讨论】:
-
我总是将 VS 更改为使用 2 个空格而不是 4 个用于制表符。这使得嵌套不那么烦人。我个人认为你所拥有的最接近你在概念上的意思。即,如果成功了,那么试试这个,如果成功了。到处都有“return false”的另一个选项意味着实际上隐含的“else”嵌套了以下每个 if,如果稍后由另一个开发人员维护/编辑,它可能更容易出现问题。不过,这实际上取决于您所做工作的背景和复杂性,因此请对我的评论持保留态度。
标签: c# java oop coding-style