《重构-改善既有代码的设计》读书笔记
来源:互联网 发布:工业信息化软件 编辑:程序博客网 时间:2024/05/16 06:39
在阅读这本书之前,我理解的重构是调整代码,让代码更加容易阅读。在我跟我同事的沟通中重构还包含了扩展功能的部分。
现在看来,我所理解的重构混淆了升级的概念,也只是了解了重构最表层的东西。重构的真正定义是:在不改变软件(这里的软件通常指一个方法)可观察行为的前提下,调整其结构。
什么是可观察行为?可观察行为是指使用软件所产生的结果。但是为什么要在不改变软件可观察行为的前提下,调整其结构呢?因为调整结构势必会改变代码的逻辑,既然逻辑都改变了又怎么保证你的重构没有问题呢。因此在不改变软件可观察行为的前提下,就是重构结果的测量标准。也只有在这个标准下,才能保证重构只是调整了软件的结构,而没有改变软件的可观察行为。
那么怎么测量软件的可观察行为没有改变呢?答案是单元测试。以前所理解的单元测试只是测试代码的功能。其实单元测试最大的作用是保证重构前后软件可观察行为的一致(代码只会编写一次,但会重构无数次)。
0 0
- 《重构-改善既有代码的设计》读书笔记
- 《重构-改善既有的代码设计》读书笔记
- 《重构----改善既有代码的设计》读书笔记
- 重构--改善既有代码的设计--读书笔记1
- 重构 改善既有的代码设计——读书笔记
- 重构 改善既有代码的设计 读书笔记1
- 重构 改善既有代码的设计(读书笔记1)
- 重构 改善既有代码的设计(读书笔记2)
- 重构 改善既有代码的设计(读书笔记3)
- 《重构--改善既有代码的设计》读书笔记
- 【读书笔记】重构 改善既有代码的设计
- 《重构:改善既有代码的设计》读书笔记
- 《重构-改善既有代码的设计》读书笔记
- 《重构,改善既有代码的设计》读书笔记
- 重构-改善既有代码的设计 读书笔记
- 《重构-改善既有代码的设计》读书笔记
- 《重构:改善既有代码的设计》读书笔记
- 重构——改善既有代码的设计 读书笔记
- 关于itf实验室 牛刀小试
- (OK) Fedora23——Docker——CORE—testing
- GridBagLayout网格包布局管理器
- 10分钟-jQuery动画特效
- 电商平台学习笔记(一)——Spring MVC+Mybatis分页插件
- 《重构-改善既有代码的设计》读书笔记
- INSPIRE PRO 无人机航拍在世界遗产江郎山三维重建的应用
- 电商平台学习笔记(二)——List泛型常见易错点
- 电商平台学习笔记(三)——Mybatis启动异常org.apache.ibatis.type.TypeException
- Swift中类似C++和ruby中的final机制
- DEM及影像的超大图像的处理
- (OK) Install codeblocks_16.01 on Fedora23
- 编程菜鸟的第一个博客的第一篇文章。
- TCP/IP协议: connect的系统超时控制