系统重构的几种定义:
- 它是一套严谨而安全的过程方法,它通过一系列行之有效的方法与措施,保证软件在优化的同时,不会引入新的BUG,保证软件改造的质量。
- 系统重构,就是在不改变软件的外部行为的基础上,改变软件内部的结构,使其更加易于阅读、易于维护和易于变更。
由定义可知,系统重构不会改变软件的外部行为,即保证系统中的每个接口与改造前是等价的,其输入输出在改造前后是一致的。
系统重构的基本方法:
系统重构应当避免大设计,而尽量采用一个一个连续不断的小设计,采用“小步快跑”的设计模式。小步快跑体现了敏捷软件开发的特点——简单与快速反馈。
- 简单就是不要过度设计。当客户的需求改变时,我们应该先通过安全而平稳的重构方法先重构我们的系统,使之可以应付那个需求,然后在添加代码,实现新需求。
- 快速反馈就是及时测试。只有测试通过了,此次重构才算成功,才能继续往下重构,否则我们必须还原。
在系统重构中应当做那些事:
- 提高软件的可读性,首先是软件的业务逻辑要清晰,此外将使用“抽取方法”来分解难于阅读与维护的大函数,用“抽取对象”来分解无所不能的大对象。
- 使软件易于维护、易于变更。在添加新功能的同时,我们既要保证原有代码的有效性,又必须有效的复用原有的代码。