每个程序员在某些时候需要重构现有代码,在真正做之前,以下事情值得先考虑:
重构的最佳实践是:评估现有的代码库和针对现有代码的测试用例
这有助于理解现有代码的优点和缺点。
避免想重写一切的诱惑
要尽可能的重用现有代码。不管现有代码多糟糕,起码已被审查,测试。直接丢弃旧代码,特别是生产代码,意味着丢弃了数月已被测试的代码,且可能已包含你不了解功能和bug。
许多渐进式的小改进优于一个大的变更
渐进式的小改动有助于通过反馈更容易的评估对系统的影响。
每个迭代后,确保现有的测试用例通过非常重要
如果新的变更旧的测试用例无法覆盖,需要及时补充。旧的测试用例不要轻易抛弃。表面上看这些测试用例不适用于新的设计,但深入挖掘添加特定测试用例的原因是非常值得的。
个人喜好和自我主义不应当成为障碍
如果没出问题,为什么要重构?风格和结构不满足个人喜好不应该成为重构的理由。觉得自己比上一个人写的好也不能成为理由。
采用新技术不能成为重构的理由
不能因为新框架/新语言能做的更优雅就贸然重构,除非从成本效益分析,一个新语言/新框架能在功能性,可维护性或生产率上显著提高。