What’s Refactoring
“Refactoring is the process of changing a software system in such a way that it does not alter the external behavior of the code yet improves its internal structure.” - Martin Fowler
重构是在不改变软件外在功能的前提下,通过对软件内部代码及其结构的调整,改善代码质量,使程序设计架构更趋合理,从而提高软件代码的可读性,可维护性和可扩展性,降低代码的维护成本。
重构是对代码坏味道的清理,它包含着一系列已验证的重构手法,小步安全的进行。重构以测试为保障,每完成一小步,便运行测试,从而确保外部功能不受影响。
严格意义和安全的重构并不会破坏软件的外在功能或者引入新的缺陷,但是为什么在平常开发中会有很多针对重构的抱怨呢?很大一部分是因为那些所谓的“重构”实际上是重写。