c++ - 在慢速编译环境中编码的最佳方法是什么?

标签 c++ tdd build-process

我曾经以 TDD 风格在 C# 中编码 - 编写/或更改一小块代码,在 10 秒内重新编译整个解决方案,重新运行测试,然后再次进行。简单...

几年来,这种开发方法对我来说非常有效,直到去年我不得不回到 C++ 编码,我真的觉得从那以后我的工作效率急剧下降。 C++ 作为一种语言不是问题——我有相当多的 C++ 开发经验……但在过去。

对于小型项目,我的工作效率还可以,但随着项目规模的增加,情况会变得更糟,一旦编译时间达到 10 分钟以上,它就会变得非常糟糕。如果我发现错误,我必须重新开始编译,等等。这简直令人沮丧。

因此我得出结论,小块(像以前一样)是 Not Acceptable - 任何建议如何让我自己养成一个小时左右的编码旧习惯,当手动审查代码时(不依赖于快速C# 编译器),并且仅在几个小时内重新编译/重新运行一次单元测试。

使用 C# 和 TDD,以进化的方式编写代码非常容易 - 经过十几次迭代后,无论我开始时的废话最终都是好的代码,但它不再对我有用(在一个缓慢的编译环境)。

非常感谢您的意见和建议。

附注不确定如何标记问题 - 欢迎任何人适本地重新标记问题。

干杯。

最佳答案

我发现重新编译和测试有点把我拉出“区域”,所以为了享受 TDD 的好处,我经常提交到 git 存储库,并运行一个后台进程来检查任何新提交,运行完整的测试套件并用结果在 git 中注释提交对象。当我抽出时间(通常在晚上)时,我会返回测试结果,修复所有问题并“重写历史记录”,然后在新历史记录上重新运行测试。这样,即使在重新编译(大部分)项目所需的很短时间内,我也不必中断工作。

关于c++ - 在慢速编译环境中编码的最佳方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5078409/

相关文章:

ant - Apache Ant : turn off output for a specific task

c++ - 在 C++ 中完成逻辑与链中的所有函数调用

c++ - OpenGL 示例中 WinMain 错误的重新定义

unit-testing - 功能测试能否替代小型项目中的单元测试

java - 使用非平凡算法的 tdd

node.js - Chai/Moka -> TypeError : request. get(...).expect 不是函数

c# - 如何获取当前进程启动时的DateTime?

visual-studio - 在 Visual C++ 解决方案中查找过期或丢失的依赖项或输出文件(或 : Why does VS insist on rebuilding projects without changes? )

java - 类型敏感的语言可以是无类型的吗?

c++ - setsockopt 返回错误 10014