tdd - 我是否应该在尚未使用 TDD 的项目上开始使用它

标签 tdd

我有一个项目,我已经工作了一段时间,只是我想有朝一日发布到开源的那些小项目之一。

现在我大约在 12 个月前开始了这个项目,但我只是轻轻地做它,我刚刚开始把更多的时间集中在它上面(几乎每天晚上)。

因为它是一个类似应用程序的框架,我有时会在方向感上挣扎,因为我没有任何东西来驱动我的设计决策,有时我最终会制作出难以使用甚至难以找到的功能。我一直在阅读有关如何进行 TDD 的文章,并认为这可能会帮助我解决我遇到的一些问题。

所以问题是,您认为在尚未使用 TDD 的项目上开始使用 TDD 是个好主意吗?

编辑:我刚刚添加了一点来澄清我所说的与“方向感”斗争的意思,如果没有澄清,这不是最好的说法。

最佳答案

在我看来,采用更好的做法——或者放弃更糟糕的做法——永远不会太晚,所以我会说“是的,你应该开始”。

然而......(总有一个“但是”)......

... TDD 最大的好处之一是它会影响您的设计,鼓励您将责任分开,交互干净等等。

在项目的这一点上,您可能会发现很难为框架的某些方面编写测试。但是不要放弃,即使你不能测试某些领域,你的质量会随着你可以测试的领域变得更好,并且你的技能会随着体验而提高。

关于tdd - 我是否应该在尚未使用 TDD 的项目上开始使用它,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/294909/

相关文章:

python - 在不使用模拟的情况下检查函数是否已在 Python unittest 中调用的规范方法是什么?

unit-testing - Clojure 中的单元测试局部函数(letfn)?

unit-testing - 什么是 "Stub"?

android - 如何使用 firebase-server 在 android 下模拟 firebase 云消息传递

java - 是否有类似 ZenTest/Autotest for Java 和 JUnit 的东西

c - 正则表达式测试台

javascript - 使用 Chai 测试 HTML 元素的值

ruby - 什么时候使用 MiniTest::Unit::TestCase 与 MiniTest::Spec?

c# - 学习 BDD、TDD(ruby、C#、javascript)的好资源