重构阅读笔记(二)

重复代码

事不过三,首当其冲的就是重复 代码,设法将其合而为一,程序会变更好。

重复代码通常情况:1,同一个类两个方法中用到同一个表达式,应该把它抽出来;2,互为兄弟子类,有相同表达式,可以抽到超类里,如果函数大致相同有不同处可以把相同处抽出来;3,多个不相干的类用到同一段代码,可以考虑抽一个新的类出来。

过长函数

程序越长越难理解,拥有短函数的对象活的长,活的好。

过大的类

如果一个类想做太多事情,就会拥有很多实例变量,一旦这样,重复代码就会接踵而至,混乱导致死亡。

过长参数列

参数太长太繁琐,会很难理解,也可能造成前后不一致,不易使用。

发散式变化

我们希望程序可以被修改,如果某个类经常因为不同的原因被修改,可以考虑把这个类分开,使得每个类只因为一种变化而修改。

霰弹式修改

类似发散式修改,又恰恰相反,如果每遇到某个变化,就需要在不同的类里做许多小修改,可以考虑把这些小修改集中到一个新类里。

依恋情节

对象技术的要点在于它是一种“将数据和操作数据的行为包装起来”的技术。如果函数对某个类的兴趣高于对自己所在类的兴趣,比如某个函数为了计算某个值,从另一个对象调用了近乎半打函数,我们就要考虑帮他换个地方,或是用其他方法重构他了。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值