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

当遇到一下情况时应该开始重构代码:
1.遇到重复代码时:如果遇到一个以上有相同程序结构,需要考虑将他们合并。比如:
(1)同一个类的两个函数含有相同的表达式(要提炼重复代码)
(2)两个互为兄弟的子类内含有相同的表达式(提炼相同代码形成方法放入超类中)
(3)遇到两个互不相关的类出现重复代码,考虑将重复代码提炼到一个独立类中,原来的两个类分别调用第三个类的方法(最好自行确定该函数应该放在哪个位置)

2.函数过长
整理函数的技巧:
(1)取出多余参数和临时变量;保证一个函数只用于完成一件事;判断提炼成方法的技巧是寻找注释,它通常能指出代码用途和实现手法之间的语义距离,如果代码前方有一行注释,就可以考虑将这段代码替换成函数;就算是只有一行函数,如果它需要以注释来说明,也值得将它提炼到独立函数中。
(2)条件表达式和循环常常也是提炼的信号
3.过大的类
4.函数含有过长参数列
发散式变化
主要判别特征是需求变动一次时需要同时调整多个类的代码。(针对某一外界变化的所有相应修改都只应该发生在单个类中)
5.霰弹式修改
主要判断依据是遇到某种变化时,必须在许多不同的类中做许多小修改。(解决方法是将所有需要修改的代码放进同一个类,如果眼下没有合适的类可以安置这些代码,就创建一个)
6依恋情结
判断依据:某函数对某个类的兴趣高于对自己所处类的兴趣。(解法:把这个函数移至另一个地方,如果有些函数依恋多个类的数据,就将依恋部分提取出来并移到相应类中)
7.数据泥团
这里写图片描述
8.基本类型偏执
9.switch Statements(switch惊悚现身)
这里写图片描述
10.平行继承体系
这里写图片描述
11.冗赘类
12.夸夸其谈未来性
13.狎昵关系
判断依据:两个类过度的数据交互和依赖(需要划清界限)
14.过多的注释

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值