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". 
    

    请您参考如下方法:

    您可以在通过测试的同时编写一些非常丑陋的代码;现在重构不是因为它不起作用,而是它不是很容易维护。这就是重点。

    在编写代码以适应多个测试之后,您可以开始进行更大的观察——这些代码段之间是否存在重叠,您可以在其中排除一些重复?


    评论关闭
    IT干货网

    微信公众号号:IT虾米 (左侧二维码扫一扫)欢迎添加!