3

想象一下,您正在实现包含各种新功能并增加代码库复杂性的用户故事。现有代码已经很好地覆盖了,您刚刚决定了接口。您开始实现从测试开始的功能。

现在,您有基于需求的相当复杂的测试用例,但是当您能够提交 SCM 完全工作的代码并且许多测试失败(应该如此)时,实现还远远不够。

假设在持续集成中,如果可能,所有构建都应该是绿色的,因此您不应该提交,因为您会破坏构建。但是你也不应该“变暗”并为自己保留这么多的代码......

在这种情况下建议的程序是什么?

4

2 回答 2

5

不要事先决定所有接口。以典型的 TDD 节奏逐步开发:编写测试;使测试通过;重构。这应该使一切保持良好状态,栏将始终为绿色,您可以签入代码而不必担心会破坏构建。

它需要不同的代码编写风格,但你最终会习惯这种节奏的。

于 2008-09-30T11:11:26.667 回答
1

跳过那些您知道由于功能当前缺失而无法通过的测试怎么办?

很明显你也在跳过测试!正如他们在 Oz 中所说,真的让它“像被困的猪一样”尖叫!(-:

添加功能时,启用相关的测试并保持“您的栏绿色!”

这是 The Pragmatic Programmers 上的另一篇很棒的文章,其中涵盖了让破碎的窗户对其他人来说显而易见。

高温高压

干杯,

于 2008-09-30T11:28:45.050 回答