条件表达式,重构之简化条件表达式

1. Replace Nested Condition with Guard Clauses(以卫语句取代嵌套条件表达式) 
        Clauses[klɔ:zis] :字句      Guard[ga:d]: 守卫、看守    Nesting: 嵌套
        范例:
               想象一个薪酬系统,其中以特区规则处理死亡、驻外、退休员工的薪资,这些情况不常有,但偶然会出现
         常规编码:
1: private double getPlayAmount(){
2: double result;
3: if(_isDead){
4: result = deadAmount();
5: }else{
6: if(_isSeparated){
7: result = separatedAmount();
8: }else {
9: if(_isRetired){
10: result = retiredAmount();
11: }else {
12: result = normalAmount();
13: }
14: }
15: }
16: return result;
17: }
 
分析: 条件表达式通常有两种表现形式。第一种:所有的分支都属于正常行为,应该用
if..else表达出来。第二种:条件表达式提供的答案中只有一种是正常行为,其
他都是不常见的行为。此时就要单独检查该条件,并在该条件为真时立刻从函数
中返回,这种单独检测常常为称为“卫语句”通过分析题意,我们知道该函数主
体是付普通情况的工资,而死亡、驻外、退休属于特区情况,因此我们把他们做
为卫语句处理,修改后为:
Tags:  代码重构 网站重构 el条件表达式 条件表达式

延伸阅读

最新评论

发表评论