zoukankan      html  css  js  c++  java
  • 重构之代码重复 语义一致的逻辑应该只有一个实体

     重构之重复代码:

    1.(重复代码是)语义一致的逻辑
    反例:语义一致的逻辑产生了多个实体
    缺点:如果你为语义一致的逻辑产生了多个实体,那么当需要修改这个逻辑时,你必须保证同时修改所有的实体,并确保它们是一致的。否则,程序就会产生bug。无疑,这么做会额外增加很多的不必要的工作量。

    原则:语义一致的逻辑之应该只产生唯一实体,在需要的地方进行调用。

    反面案例:
    jdbc操作数据库时,在每个访问方法中写driverClass, url, username, password。

    2.(重复代码是)非语义一致的逻辑。
    当你的程序中存在多个实体,表示的是非语义一致的逻辑,当修改其中一个不需要维护另一个,因为它们本身就没有语义一致的要求。

    重构之switch语句:

    程序中出现switch语句,就是不好的设计吗?

    一个需要重构的switch语句的案例
    Movie类
    priceCode域
    getCharge(int daysRent):
    存在switch语句:
    根据priceCode域的值的不同计算租片费用。
    其中每个分支中的逻辑的共同点:
    输入是租期,输出是费用。

    方案:
    使用状态模式或策略模式对该switch语句进行重构。

  • 相关阅读:
    算法53----换钱的最小次数和方法数【动态规划】
    算法52-----矩阵最小路径【动态规划】
    Data
    Git
    Git
    Git
    Git
    DevOps
    Docker
    Tools
  • 原文地址:https://www.cnblogs.com/mozq/p/10832967.html
Copyright © 2011-2022 走看看