我们通常在业务逻辑中进行不必要的检查以避免失败。
例如。
1. public ObjectABC funcABC(){
ObjectABC obj = new ObjectABC;
..........
..........
//its never set to null here.
..........
return obj;
}
ObjectABC o = funABC();
if(o!=null){
//do something
}
如果我们确定它永远不会为空,为什么我们需要这个空检查?这是一个好习惯吗?
2. int pplReached = funA(..,..,..);
int totalPpl = funB(..,..,..);
funA() just puts a few more restriction over result of funB().
Double percentage = (totalPpl==0||totalPpl<pplReached) ? 0.0 : pplReached/totalPpl;
我们需要'totalPpl<pplReached'
检查吗?
问题是:通过这样的检查,我们不是吞下了一些基本问题吗?通过进行这些检查可以避免理想情况下应该显示的问题。
推荐的方法是什么?