在以下情况下,你应该选择重构:
1. 重复。你发现了对DRY原则的违反。
2. 非正交的设计。你发现有些代码或设计可以变得更为正交。
3. 过时的知识。事情变了,需求转移了,所以你的代码也需要跟上这些变化。
4. 性能。为了改善性能,你需要重新组织某个功能。
那么,我们该如何进行重构呢?
1. 不要试图在重构的同时增加功能。
2. 在重构之前,确保你拥有良好的测试,并在重构的过程中通过经常运行测试,这样,可以尽快知道被破坏的地方。
3. 采取短小、深思熟虑的步骤,并在每个步骤之后进行测试。
—— 总结自《程序员修炼之道》