您的位置:首页 > 其它

《重构》读后感2--什么时候应该开始或结束重构

2016-02-16 16:37 211 查看
当遇到一下情况时应该开始重构代码:

1.遇到重复代码时:如果遇到一个以上有相同程序结构,需要考虑将他们合并。比如:

(1)同一个类的两个函数含有相同的表达式(要提炼重复代码)

(2)两个互为兄弟的子类内含有相同的表达式(提炼相同代码形成方法放入超类中)

(3)遇到两个互不相关的类出现重复代码,考虑将重复代码提炼到一个独立类中,原来的两个类分别调用第三个类的方法(最好自行确定该函数应该放在哪个位置)

2.函数过长

整理函数的技巧:

(1)取出多余参数和临时变量;保证一个函数只用于完成一件事;判断提炼成方法的技巧是寻找注释,它通常能指出代码用途和实现手法之间的语义距离,如果代码前方有一行注释,就可以考虑将这段代码替换成函数;就算是只有一行函数,如果它需要以注释来说明,也值得将它提炼到独立函数中。

(2)条件表达式和循环常常也是提炼的信号

3.过大的类

4.函数含有过长参数列

发散式变化

主要判别特征是需求变动一次时需要同时调整多个类的代码。(针对某一外界变化的所有相应修改都只应该发生在单个类中)

5.霰弹式修改

主要判断依据是遇到某种变化时,必须在许多不同的类中做许多小修改。(解决方法是将所有需要修改的代码放进同一个类,如果眼下没有合适的类可以安置这些代码,就创建一个)

6依恋情结

判断依据:某函数对某个类的兴趣高于对自己所处类的兴趣。(解法:把这个函数移至另一个地方,如果有些函数依恋多个类的数据,就将依恋部分提取出来并移到相应类中)

7.数据泥团



8.基本类型偏执

9.switch Statements(switch惊悚现身)



10.平行继承体系



11.冗赘类

12.夸夸其谈未来性

13.狎昵关系

判断依据:两个类过度的数据交互和依赖(需要划清界限)

14.过多的注释
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: