摘要:
“当你看着一个类说,呃,如果新加入一个数据库,我必须修改这三个函数;如果新出现一种金融工具,我必须修改这四个函数。那么,此时也许将这个类分成两个会更好,这么一来每个对象就可以只因一种变化而需要修改。”上述特征的名称叫做:Divergent Change。它表示,某个类经常因为不同的原因在不同的方向上... 阅读全文
随笔分类 - 重构【改善既有代码的设计】
Long Parameter List(过长参数列)---要重构的味道
2015-06-14 16:51 by ttylinux, 1237 阅读, 收藏, 编辑
摘要:
一个函数,它的参数过多是不好的,不好维护和修改,易读性也差,容易出错。 消除过长参数的方法,有如下: 1.在面向对象中,你可以传递一个对象给函数,函数通过访问对象来获得参数。也就是,对象里面了包含参数需要的多个参数。 2.函数通过访问函数所在类的成员变量,或者其它函数来获取原来要传入的... 阅读全文
Large Class--过大的类--要重构的信号
2015-06-11 06:57 by ttylinux, 957 阅读, 收藏, 编辑
摘要:
如果想利用单个类做太多事情,其内往往就会出现太多实例变量。一旦如此,Duplicated Code也就接踵而至。解决方法:1.将类内彼此相关的变量,将它们放在一起。使用Extract Class手法,将彼此相关的变量提炼到新的类。2.如果1中的新类适合作为一个子类,那么可以使用Extract Sub... 阅读全文
过长的函数---要重构的信号
2015-06-07 21:40 by ttylinux, 1351 阅读, 收藏, 编辑
摘要:
这个,我经常发现做开发的同事的代码,出现这个问题。"但是让小函数容易理解的真正关键在于一个好名字。如果你能给函数起个好名字,读者就可以通过名字了解函数的作用,根本不必去看其中写了些什么。“-----------起个好名字,看名字知道函数的作用。在需要的时候,比如,调试,检查Bug,这时候,才需要查看... 阅读全文
重复代码Duplicated Code---要重构的信号
2015-06-01 23:07 by ttylinux, 1160 阅读, 收藏, 编辑
摘要:
什么时候需要重构,当你在项目代码里面嗅到这个味道的时候,就要进行重构。首个介绍的味道是重复代码的味道。它表现出来的特征是这些:1.一个类里面,两个函数中,含有相同的代码,类似的代码;或者三个函数中,含有相同的代码,类似的代码。这是重复代码的味道。2.两个互为兄弟的子类内含有相同的表达式。这也是重复代... 阅读全文