代码重构(Code refactoring)是在不改变软件系统外部行为的前提下,改善它的内部结构。通过调整程序代码改善软件的质量、性能,使其程序的设计模式和架构更趋合理,提高软件的扩展性和维护性。
何为重构?
- 一个前提是不改变软件可观察行为;
- 两个目的:1是提高代码可读性;2是降低代码修改成本
为什么要进行重构?
- 改进软件的设计
- 提高代码质量,更易被理解
- 尽早地发现Bugs
- 提高开发速度
什么时候进行重构?
- 随时随地可以进行
- 添加新功能
- 修改Bugs
- code review
什么时候不进行重构?
- 代码实在太乱,设计完全错误
- 项目已接近deadline
- 重构的工作量严重影响项目进度
重构与设计
- 重构与设计是互补的
- 适度设计,快速重构
- 好的设计模式是逐步重构出来的
- 避免过度设计
重构与性能
- 可能会影响性能
- 重构后性能优化更容易
重构的难点
- 数据库重构
- 对外接口重构
- 难以通过重构完成的设计改动