Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

什么情况下重构?到底重构什么?又该如何重构 #20

Open
NewBrandSTONE opened this issue Feb 16, 2020 · 0 comments
Open

Comments

@NewBrandSTONE
Copy link
Owner

为什么要重构

重构需要发现代码存在的坏味道或者设计上的不足,合理、熟练地利用设计思想、原则、模式、编码规范等理论知识解决问题。换句话说。在保证功能不变的前提下,利用设计思想、原则、模式、编程规范等理论来优化代码,修改设计上的不足,提高代码质量

  1. 时刻保持代码质量。
  2. 优秀的代码或者架构不是一开始就能完全设计好的。
  3. 重构是避免过度设计的有效手段。在我们维护代码的过程中,真正遇到问题的时候,再对代码进行重构,能有效地避免前期过多的设计。
  4. 重构对一个工程师本身技术的成长也有重要意义。

重构的对象

以规模划分:大型重构、小型重构。

  • 大型重构

是指顶层代码设计的重构,包括系统、模块、代码结构、类与类之间的关系。常用的重构手段有:分层、模块化、解耦、抽象可复用组件等等。

  • 小型重构

是指代码细节的重构,主要是针对类、函数、变量等代码级别的重构,比如规范命名规范注释消除超级大类或函数提取重复代码等等。

重构时机

  1. 平时没有事情需要处理的时候,看看项目中有哪些代码写得不好、可以优化的代码,主动重构一下。

  2. 在添加某些新功能时,也可以顺手把不符合规范的编码、不好的设计重构一下。

  3. 找到一条可持续、可演进的方式进行,即持续重构。代码总会存在不完美,重构会持续在进行。

重构的方法

  1. 指定完善的重构计划。
  2. 每一阶段完成一小部分代码的重构,提交 git、测试、运行,保证代码库中的代码一直处于可运行、逻辑正确状态。
  3. 每个阶段都需要考虑重构影响到的代码范围,考虑如何做好兼容老代码逻辑,必要时还需要写一些兼容过度的代码。
  4. 重构一定要有完善的测试用例覆盖和回归例库的情况下进行。
  5. 保持代码质量最好的方式还是打造一种良好的技术氛围,以此来驱动大家主动关注代码质量,持续重构代码。
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant