为何重构
重构不是银弹,但是帮助你达到以下几个目的
改进软件设计
不良的程序需要更多的代码。而代码越多,正确的修改就越困难。改进代码设计的一个重要原则就是消除重复代码
使软件更容易被理解
优秀的代码能够让接收你代码的付出更少的学习成本。
重构更容易找到bug
重构能加深对代码的理解。然后就更容易找到bug
重构提高开发速度
更快理解代码,更快找到bug,更多可重用的模块。不是更快了吗
何时重构
重构什么时候都可以做。
三次法则
第一次做某件事时只管去做;第二次做类似的事会产生反感,但无论如何还是可以去做;第三次在做类似的是,你就应该重构。事不过三,三则重构。
可以重构的情况
- 添加功能时可以重构。重构可以帮助我们理解代码。然后更快开始新功能的开发
- 修改错误时可以重构。收到错误报告。说明你没有发现代码的错误。需要重构
- 复审代码时可以重构。通过重构看的更远
何时不该重构
- 重构还不如重写来的快的情况
- 最后期限的时候不要重构,别自己挖坑。因为在最后阶段重构的提高生产力的作用已经晚了
重构和性能
不能因为追求代码的纯洁性而忽视代码的性能
三个编写快速软件的方法:
- 时间预算法。分解你的设计时要考虑时间预算。不能超过时间限制。只针对于对时间要求很高的系统
- 持续关注法。任何时候写代码的时候都考虑性能。但是大多数的时间都是花在一小半的代码上的。你会做很多无用功
- 数据统计法。用攻击数据直接进入代码优化阶段。(常用)
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。