随笔分类 - 重构
摘要:提炼函数案例 一次循环中完成多个任务 参考 修改代码的艺术 6.1 新生方法 原始代码 需求:只对没有发布过的entry进行发布日期并且添加到列表中。 方式一 方式二
阅读全文
摘要:https://github.com/phodal/migration
阅读全文
摘要:类型转换的方法应该放到源类型还是目标类型中 如Integer和String对象的转换方法应该放到哪里? 需要将Integer对象转换为String对象,转换的方法应该放到String还是Integer? 答:转换的方法应该放到原对象中而不是目标对象。如果放到目标对象中,那么每次新增一个类型,目标类型
阅读全文
摘要:简单的使用一下字段改名 为什么使用字段改名: 你在一个软件上做的工作越多,对这个软件的数据的理解就越深刻,你需要把这些理解融入到代码中。利用名字的解释作用,让代码更容易被理解。 如何找到该变量的所有引用点 1. 类的私有字段: 直接修改该字段名称,那么所有引用这个变量的地方将会报红,我们就找
阅读全文
摘要:mozq 名词: 实体 引用 逻辑实体 可引用逻辑实体 不可引用逻辑实体 散弹式修改 逻辑存在形式:不可引用逻辑实体或者可引用逻辑实体 核心: 某个逻辑应该以什么形式存在呢?可引用逻辑实体(函数)还是不可引用逻辑实体(函数代码中)? 方案: 1.为多次使用的逻辑提供可引用的逻辑实体。 2.不是必须这
阅读全文
摘要:1 重构之重复代码: 2 3 1.(重复代码是)语义一致的逻辑 4 反例:语义一致的逻辑产生了多个实体 5 缺点:如果你为语义一致的逻辑产生了多个实体,那么当需要修改这个逻辑时,你必须保证同时修改所有的实体,并确保它们是一致的。否则,程序就会产生bug。无疑,这么做会额外增加很多的不必要的工作量。
阅读全文
摘要:5.Divergent Change发散式变化 描述:一个类被锚定了多个变化,当这些变化中的任意一个发生时,就必须对类进行修改。 解释:一个类最好只因一种变化而被修改 操作:你应该找出某特定原因而造成的所有变化,然后运用Extract Class将它们提炼到另一个类中。 6.Shotgun Surg
阅读全文
摘要:重构之重复代码: 1.(重复代码是)语义一致的逻辑 反例:语义一致的逻辑产生了多个实体 缺点:如果你为语义一致的逻辑产生了多个实体,那么当需要修改这个逻辑时,你必须保证同时修改所有的实体,并确保它们是一致的。否则,程序就会产生bug。无疑,这么做会额外增加很多的不必要的工作量。 原则:语义一致的逻辑
阅读全文
摘要:1 package refactor; 2 3 public class Movie { 4 public static final int NEW_RELEASE = 0; 5 public static final int REGULAR = 1; 6 public static final i
阅读全文
摘要:1 package shop; 2 3 public class Movie { 4 public static final int NEW_RELEASE = 0; 5 public static final int REGULAR = 1; 6 public static final int C
阅读全文

浙公网安备 33010602011771号