【发布时间】:2009-08-30 22:33:54
【问题描述】:
TDD 圈是:
"Write failing Test" -> "Write Code to fit a Test" -> "Refactor"
在“编码”步骤中,我们假定编写代码尽可能简单,只是为了修复失败的测试。在真正需要之前,我们不应该编写复杂的代码。
下一步是重构。我们应该重构刚刚写好的代码吗?我认为没有真正的意义,因为只要测试通过,我们应该对代码感到满意。
可能重构活动应该由某些事情强制执行,例如代码编写是由失败的测试引起的。这里有一些可能的因素:
- 要编写的下一个测试需要对系统进行一些更改(重构)
- 性能很差。我们需要在不破坏功能的情况下对其进行改进
- 代码审查表明编写的代码难以理解。
您认为启动重构的其他原因是什么?
另外,这个方案是否正确:
"Write failing Test" -> "Code" -> "Refactor" -> "Write failing Test"
或许应该被视为
"Write failing Test" -> "Code/Refactor" -> "Write failing Test"
+
"External factor (like bad performance)" -> "Refactor".
【问题讨论】:
标签: refactoring tdd