【发布时间】:2011-02-23 18:18:04
【问题描述】:
嗨!我最近尝试在C# 开发一个小型项目,在整个项目过程中,我们的团队使用了测试驱动开发(TDD)技术(xunit, moq)。
我真的认为这很棒,因为(与C# 搭配使用时)这种方法允许在编码时放松,在投影时放松,在重构时放松。我怀疑所有这些TDD-stuff 实际上简化了编码过程,而且,它允许(最终,对我来说)在更少的脑细胞工作的情况下获得相同的结果。
在那之后,我尝试使用 TDD 与 C++ 配对(我使用了 Google Test 和 Google Mock 库),而且,我不知道为什么,但我实际上认为这里的 TDD 是退一步快速应用程序开发方面的术语。
有时我不得不花费大量时间思考我的测试、构建适当的模拟、重建它们并对我的显示器发誓。
而且,我显然不能问诸如“我做错了什么?”之类的问题。或“我的方法出了什么问题?”,因为我不知道该描述什么。但是,如果有任何人习惯于TDD 和C++(可能还有C#),请您告诉我如何正确执行此操作。
框架建议、架构方法、简单编码建议 - 如果您对 TDD & C++ 有经验,请回复。
【问题讨论】:
-
您能否描述一下您用于 C# 的设置与 C++ & gmoc & gtest 的设置之间最烦人的区别是什么?我在 C++ 中使用 gmock+gtest 进行 TDD,我看不出这个工具有任何缺陷,但是我没有在 C# 中使用 xunit + moq(见鬼,我没有在 C# 中编写那么多程序),所以我可能不知道我错过了什么。
-
嗯,我认为
jalf实际上写了我的意见。我无法比他更好地用语言来解释这一点,但是当你用 C# 编写代码并编写所有接口等内容时,它看起来很漂亮native。当你尝试在 C++ 中做同样的事情时,它开始看起来像是在试图强迫自己使用一些非常古怪的东西。也许这只是关于经验和习惯以正确的方式思考。
标签: c# c++ performance tdd