Skip to content

Commit

Permalink
更新 重构
Browse files Browse the repository at this point in the history
  • Loading branch information
0xcaffebabe committed Jun 28, 2020
1 parent 65af03c commit cf4f5f2
Showing 1 changed file with 23 additions and 4 deletions.
27 changes: 23 additions & 4 deletions 软件工程/编码/代码重构.md
Expand Up @@ -2,15 +2,34 @@

在不改变代码外在行为的前提下,对代码进行修改,以改进程序的内部结构

## 何时重构
- 如果你要给程序添加一个特性,但发现代码因缺乏良好的结构而不易于进行更改,那就先重构那个程序,使其比较容易添加该特性,然后再添加该特性。
- 重构前,先检查自己是否有一套可靠的测试代码。这些测试必须有自我检验能力。
- 重构技术就是以微小的步伐修改程序。 如果你犯下错误,很容易便可发现它。

- 添加新功能的时候
## 重构原则

### 为何重构

- 改进软件的设计
- 使代码更容易理解
- 提高编程速度

### 何时重构

- 预备性重构:添加新功能的时候
- 帮助理解的重构:为了理解系统或者代码所做的工作
- 捡垃圾式重构:偶然发现一处坏代码,重构它
- 修复错误的时候
- 代码审查的时候

## 如何保证重构的正确性
### 何时不该重构

- 不会被用到的代码
- 重构的代价比重写的代价还高的代码

### 如何保证重构的正确性

单元测试是保证代码正确性的强有力保证
测试是保证代码正确性的强有力保证

## 重构技巧

Expand Down

0 comments on commit cf4f5f2

Please sign in to comment.