4.2 合并条件式

【1】原代码

 1 double disabilityAmount()
 2 {
 3     if (_seniority < 2)
 4     {
 5         return 0;
 6     }
 7     if (_monthsDisabled > 12)
 8     {
 9         return 0;
10     }
11     if (_isPartTime)
12     {
13         return 0;
14     }
15     // compute the disability amount
16     // ...
17 }

【2】合并条件式

合并1:

 1 double disabilityAmount()
 2 {
 3     if ((_seniority < 2) || (_monthsDisabled > 12) || (_isPartTime))
 4     {
 5         return 0;
 6     }
 7 
 8     // compute the disability amount
 9     // ...
10 }

合并2:

 1 double disabilityAmount()
 2 {
 3     if (isNotEligibleForDisability())
 4     {
 5         return 0;
 6     }
 7     // compute the disability amount
 8     // ...
 9 }
10 
11 boolean isNotEligibleForDisability()
12 {
13     return ((_seniority < 2) || (_monthsDisabled > 12) || (_isPartTime));
14 }

【3】总结

有一系列条件测试,都得到相同的结果。将这些测试合并为一个条件表达式,并将这个条件表达式提炼成为一个独立函数。

 

Good Good Study, Day Day Up.
顺序 选择 循环 总结

posted @ 2017-08-15 11:26  kaizenly  阅读(609)  评论(0编辑  收藏  举报
打赏