《重构-改善既有代码的设计》读后感
来源:互联网 发布:端口定义 编辑:程序博客网 时间:2024/05/19 02:03
何时重构:
1,需要为程序添加一个特性,而代码结构使你无法很方便地达成目的,那就先重构那个程序,使特性添加比较容易进行。
如何重构:
1,找到函数内的局部变量和参数。分成可变和不可变。
任何不可变的变量都可以当成参数传入新的函数,
如果只有一个变量会被修改,那么可以把它当成返回值。
2,绝大多数情况下,函数应该放在它所使用的数据的所属对象内,这样可以减少传参。
3,如果旧函数是一个public函数,而我又不想修改其他类的接口,我会保留旧函数,让它调用新函数。
4,用多态取代条件分支:
租片子计算费用需要两项数据:租期长度和影片类型。为什么要将租期长度传给movie对象,而不是将影片类型传给rental对象呢?因为本系统可能发生的变化是加入新影片类型,这种变化不稳定。如果影片类型有所变化,我们希望尽量控制它造成的影响,所以在movie对象内计算费用。然后
对movie对象使用多态。每个类都有自己的计费法。
但是一部影片可以在生命周期内修改自己的分类,一个对象却不能在生命周期内修改自己所属的类。这时运用state模式。对movie类里添加price类引用。
有了这一层,我们可以在price对象内进行子类化动作。也可以在必要时刻修改价格。
5,针对外界变化所有应有修改,都只应该发生在单一类中。
6,先用解释型变量理清思路,用方法替代变量,抽取方法。
7,每个变量只能承担一个责任。
8,switch,if条件的语句移动到需要被继承的类中,这样才能利用多态消除switch语句。
重构注意事项:
每次修改的幅度都要小,所以任何错误都很容易发现。
0 0
- 《重构-改善既有代码的设计》读后感
- 重构-改善既有代码的设计 读后感
- 重构-改善既有代码的设计
- 重构-改善既有代码的设计
- 重构-改善既有代码的设计
- 重构-改善既有代码的设计
- 重构:改善既有代码的设计
- 重构--改善既有代码的设计
- 重构-改善既有代码的设计
- 重构-改善既有代码的设计
- 重构-改善既有代码的设计+
- 重构--改善既有代码的设计
- 重构 改善既有代码的设计
- 重构.改善既有代码的设计
- 重构:改善既有代码的设计
- 重构,改善既有代码的设计
- 重构改善既有代码的设计
- 重构-改善既有代码的设计
- erlang 四大 behaviour【转】
- Unity3d实现人物跳跃
- Rmarkdown中文实现
- map容器的初体验
- Python爬虫(2)——爬取微博内容
- 《重构-改善既有代码的设计》读后感
- 配置Log4j(很详细)
- nyoj-街区最短路径问题
- Glide源码分析
- HMLT/CSS
- HDU4283 区间dp
- 待解决
- 我理解的webservice是这样的
- Javacript中的乘法口诀表