Divergent Change(发散式变化) 1、官方解释: 我们希望软件能够更容易被修改——毕竟软件再怎么说本来就该是「软」的。一旦需要修改,我们希望能够跳到系统的某一点,只在该处做修改。如果不能做到这点,你就嗅出两种紧密相关的刺鼻味道中的一种了。 如果某个class经常因为不同的原因 ...
巨型类Large Class 当一个类尝试做的太多,它常常展示出过多的实例变量。当一个类有太多实例变量,重复代码的出现就不远了。 你可以提取类来打包一部分变量。选择在部件中有意义的变量放在一起。例如, 存款总量 和 存款货币 很可能在同一部件中。更宽泛的说,在一个类中变量的某个子集共同的前缀和后缀预示着组成同一个部件的机会。如果这个部件有成为子类的意义,你会发现提取子类往往更容易。 有时一个类不会 ...
2014-06-17 08:22 6 1041 推荐指数:
Divergent Change(发散式变化) 1、官方解释: 我们希望软件能够更容易被修改——毕竟软件再怎么说本来就该是「软」的。一旦需要修改,我们希望能够跳到系统的某一点,只在该处做修改。如果不能做到这点,你就嗅出两种紧密相关的刺鼻味道中的一种了。 如果某个class经常因为不同的原因 ...
第一次读重构 - 改善既有代码的设计(Refactoring: Improving the Design of Existing Code)这本书还是在学校的时候,那个时候刚开始写Java代码,师兄推荐了两本书《重构》、《设计模式》。在今日看来,这两本书都是经典好书,得谢谢我的师兄。 最近,打算 ...
介绍 我以前写过《php杂谈 《重构-改善既有代码的设计》之一重新组织你的函数》,其中代码坏味道,还有深入挖掘的地方,所以我再重点把这一篇提出来,分几篇再提一下,不要闲我烦。 我觉得重构是我们要用一生去研究的地方,跟文学一样 ...
1、Duplicate Code(重复代码):代码重复几乎是最常见的异味了,他也是Refactoring的主要目标之一,代码重复往往来自于copy-and-paste编程风格,与他相对应的OAOO是一个好系统的重要标志。 2、 Long Method(长方法):他是传统结构化的遗毒,一个方法 ...
返回总目录 一、Duplicated Code(重复代码) 我们写代码的时候应该遵循DRY原则:Don't Repeat Yourself。如果你在一个以上的地点看到相同的程序结构,那么可以肯定:设法将他们合而为一,程序会变得更好。 1、同一个类的两个函数含有相同的表达式 这时候 ...
代码坏味道:是指在代码之中潜在问题的警示信号。并非所有的坏味道所指示的确实是问题,但是对于大多数坏味道,均很有必要加以查看,并作出相应的修改。 1. 重复的代码 如果你在一个以上的地点看到相同的程序结构,那么当可肯定:设法将它们合而为一,程序会变得更好。 同一个class ...
接着昨天的继续说,废话不说,直接进入正题: 【3】Large Class(过大的类) 查看一个类是否“过大”,这里有一个小技巧分享给大家。就是看两点:1)这个类实例变量太多,必然会有Duplicated Code(重复代码) 2)类内如果有太多代码,也会产生 ...