美文网首页
重构读书笔记-9_4-Remove_Control_Flag

重构读书笔记-9_4-Remove_Control_Flag

作者: MR_Model | 来源:发表于2019-07-11 09:28 被阅读0次

    重构第九章

    4.Remove Control Flag(移除控制标记)

    在一系列布尔表达式中,某个变量带有[控制标记]作用。以break语句或return语句取代控制标记。

    Example:

    void checkSecurity (string[] people) {
        boolean found = false;
        for(int i =0; i<people.length; i++) {
            if(!found) {
                if(people[i].equals("Don")) {
                    sendAlert();
                    found = true;
                }
                if(people[i].equal("John")) {
                    sendAlert();
                    found = true;
                }
            }
        }
    }
    

    End:

    void checkSecurity (string[] people) {
        for(int i =0; i<people.length; i++) {
            if(people[i].equals("Don")) {
                sendAlert();
                break;
            }
            if(people[i].equal("John")) {
                sendAlert();
                break;
            }
        }
    }
    

    Conclusion:

    用以判断何时停止条件检查的控制标记,会大大的降低代码的可读性。使用break、continue和return跳出复杂的条件语句,会使得条件语句的真正用途清晰的多。

    注意

    重构必须在有单元测试的情况下,保证之前的功能修改后不收影响。切记!!!

    相关文章

      网友评论

          本文标题:重构读书笔记-9_4-Remove_Control_Flag

          本文链接:https://www.haomeiwen.com/subject/kszlkctx.html