如何重构
重构应该作为一系列的小更改来完成,每一个小更改都使现有的代码稍微好一些,同时仍然保持程序正常工作。
已完成的重构检查表正确的方式
代码应该变得更清晰。
如果代码在重构后仍然不干净……我很抱歉,但你刚刚浪费了你生命中的一个小时。想想为什么会这样。
这种情况经常发生在你将一些小的变更从重构转移到一个大的变更中。所以很容易失去理智,尤其是在有时间限制的情况下。
但在处理极其草率的代码时也会发生这种情况。无论您如何改进,整个代码仍然是一场灾难。
在这种情况下,考虑完全重写部分代码是值得的。但在此之前,您应该编写测试并留出大量时间。否则,你就会得到我们在第一段中谈到的那种结果。
不应该在重构期间创建新功能。
不要把重构和直接开发新功能混合在一起。尝试将这些进程分开,至少在单独提交的范围内。
所有现有的测试在重构后都必须通过。
有两种情况下,测试在重构后会崩溃:
您在重构过程中犯了一个错误。这是一个很简单的方法:继续并修复错误。
你的测试水平太低了例如,您正在测试类的私有方法。
在这种情况下,测试是罪魁祸首。您可以重构测试本身,也可以编写一组全新的高级测试。避免这种情况的一个好方法就是写作BDD-style测试。