逐步验证代码清理

时间:2013-09-27 17:26:00

标签: java function module

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

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. 或者我应该只在相应的函数中验证参数是否为空?

1 个答案:

答案 0 :(得分:0)

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

还不清楚为什么你有:

getB(a)

而不是:

a.getB();

最初我以为你可以这样做:

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

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

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