何谓重构
重构(名词): 对软件内部结构的一种调整,目的是在不改变软件可观察行为的前提下,提高其可理解性,降低其修改成本.
重构(动词):使用一系列重构手法,在不改变软件可观察行为的前提下,调整期结构
性能优化与重构的对比:性能优化(时间,空间)往往使代码较难理解
重构与添加新功能交叉工作.
重构改进软件设计
如果没有重构,程序的设计会逐渐腐败变质.
重构使软件更容易理解
面向未来的开发者
早期重构:'擦掉窗户上的污垢,使你看得更远'
重构提高编程速度
良好的设计是维持软件开发速度的根本
2.3何时重构
三次法则
事不过三,三则重构
添加功能时重构
修补错误时重构
复审代码时重构
难以修改的程序
- 难以阅读的程序
- 逻辑重复的程序
- 添加新行为时需要修改已有代码的程序
- 带复杂条件逻辑的程序
我们期望的程序
- 容易阅读
- 所有逻辑都在唯一地点指定
- 新的改动不会危及现有行为
- 尽可能简单表达条件逻辑
2.4 怎么对经理说
大量研究显示: 技术复审是减少错误.提高开发速度的一条重要途径.
中间层价值
- 允许逻辑共享
- 分开解释意图和实现
- 隔离变化
- 封装逻辑条件
2.5 重构的难题
有限的重构经验
数据库
数据库的迁移,非对象数据库中,对象模型和数据模型之间分层来隔离两个模型各自的变化.多数据库和复杂模型下这个分隔层很重要
修改接口
如果接口被修改了,任何事情都有可能发生
published interface 比 public interface 更进一步
不要过早发布接口.请修改你的代码所有权政策,使重构更顺畅
何时不该重构
不如重写的时候
2.6 重构与设计
直观按照最初想法编码,有效运作,然后再将它重构成型.真的可行
极限编程的支持者极力提倡这种办法.
2.7 重构与性能
编写快速软件方法:
- 时间预算,执行轨迹
- 持续关注法
- 监控运行,找出消耗时间空间的点展开优化(发现热点,去除热点)
重构起源何处
重构对灵活高效框架的开发帮助
性能检测工具
- 本文链接: https://halo.cjh.kim/archives/重构改善既有代码的设计2
- 版权声明: 本博客所有文章除特别声明外,均采用CC BY-NC-SA 3.0 许可协议。转载请注明出处!