10k

设计模式之美-课程笔记17-规范与重构1

理论一:什么情况下要重构?到底重构什么?又该如何重构?

Why

重构是一种对软件内部的改善,目的是在不改变软件的可见行为的情况下,时期更容易理解,修改成本更低。

  1. 时刻保证代码的质量不至于积重难返
  2. 优秀产品迭代必然会经历的
  3. 避免过度设计的有效手段。避免在前期投入过多的精力做设计。

对于工程师,重构可以让人将合适的设计理念、原则、模式、规范应用实践。

What

  1. 大致可以分为高层次(大型)重构和低层次(小型)重构。
  2. 大型:对顶层代码的重构,包括系统、模块、代码结构、类之间的关系。重构的手段:分层、模块化、解耦、抽象可复用组件等。改动多,影响面大,出问题的概率大。
  3. 小型:代码细节的重构。针对类、函数、变量这个代码级别。比如规范命名,消除超大类或者函数、提取重复代码等。

when

  1. 好的策略是持续重构。平时看到了就可以随手一改。别等到不可挽回的时候重构甚至重写

how

  1. 对于大型重构,要做好计划,分阶段进行。每个阶段完成一小部分,然后提交、测试、运行,没问题后进入下一阶段。
  2. 控制好重构影响到的代码范围,保证代码一直可以正确运行。必要时可以写一些兼容过渡代码。
  3. 小规模的重构可以随时去做。
Thoughts? Leave a comment