什么是重构
- Refactoring是这样的一个持续的过程,在不改变代码外在行为的前提之下,对代码做出修改,以改善其内部结构.
改善其内部结构的含义是提高代码的健壮性,可扩展性,可维护性,增强代码的可读性,我们日常工作一般有两件事,完成新功能开发 & 解决bug,改善其内部结构可以帮助我们更迅速,高效的完成这两件事,降低我们开发的成本,加快我们开发的效率
为什么要重构
- 一个程序一般会产生两种价值,”今天能为你做什么”和”明天能为你做什么”,简单来说,重构的目的就是让你更多的投资明天(其实对今天的你也有巨大帮助,因为今天和明天本来就是相对的概念).具体来说,以下四点原因完全可以说服我们去重构:
- 重构使软件更容易理解,我们更容易让代码看起来像一个”艺术品”(看到赏心悦目的代码是最幸福的事)
- 重构使维护和扩展变得简单
- 重构可以帮助我们找到bug
- 重构会提高我们的工作效率
有人会说重构也是一件耗费工时的事,但没有什么是完美的,你现在增加20%的付出将来会有120%的回报
什么时候应该重构
- 随时随地都可以进行重构,一般在以下的三个场景中,如果你觉得有必要重构,就可以立刻进行:
- 添加新特性时
- 修改bug时
- 复审代码时
事不过三原则也可以参考,你如果做了同样的事情在不同的地方>=3次,立刻重构
总结
- 虽然良好的设计是维持开发速度的根本,但在实际工作中,面对复杂的需求,一个良好的设计永远保持良好是不现实的,所以来说,我们最终会发现良好的设计并不完全是一切动作的前提,我们只有持续的进行重构,才可以使程序在众多变动下依旧充满”艺术气息”
我认为这种开发模式可能会对我们带来些好处:
- 预先设计(不要过度设计) -> code -> 重构 -> code -> 重构 -> ……..