0

让我们假设一个逐步的代码

stepWise () {
   Object a = getA ();
   Object b = getB (a);
   Object c = getC (b);
}

如果对于这样的代码我需要添加验证,我需要推荐最干净的方法。

stepWise () {
  Object a = getA();
  if ( a!= null ) {
     Object b = getB(a);
     if (b! = null) {
        Object c = getC(c);
     }
  }
}

现在唯一的问题是如果添加更多序列(getD()、getE() 等)会造成更多混乱。

  1. 任何干净的解决方案?

  2. 或者我应该只验证参数在各自的函数中是非空的吗?

4

1 回答 1

0

考虑使用Null Object设计模式作为替代方案,以避免必须执行所有这些检查。

也不清楚为什么你有:

getB(a)

相对于:

a.getB();

最初我在想你可以做这样的事情:

stepWise () {
  Object a = getA();
  Object b = getB();
  Object c = getC();

  checkNotNull(a);
  checkNotNull(b);
  checkNotNull(c);
  ...

但是您设计课程的方式是不可能的。

于 2013-09-27T17:38:16.990 回答