c++ - 什么软件在设计/规划一个新的大型个人项目时有用?

标签 c++

我计划进行一个大型且具有挑战性的 C++ 项目,该项目可能需要 6-18 个月才能发布第一个版本。如果我要在这方面投入大量时间,我会先详细计划一下,这是有道理的。

但这也只有我一个人在做,所以通常的瀑布设计工具泥潭更可能是浪费时间而不是节省时间。像我这样从事独立项目,如果有比纸和铅笔更先进的软件,什么软件对我最有帮助?

我知道这个问题有些主观,但我指望 SO 的社区机制将最佳答案带到顶部,为一个没有每个人都会同意的具体答案的问题提供一种民主的答案上。

最佳答案

当我自己进行开发时,我尽量保持简单,同时仍然具有某种结构。

我认为 Joel 测试的工具部分捕获了最重要的东西:

  1. 您使用源代码管理吗?
  2. 你能一步构建吗?
  3. 你有错误数据库吗?
  4. 您会在编写新代码之前修复错误吗?

然后我想补充一些我自己的:

  1. 使用自动化测试并尽可能采用测试驱动开发。
  2. 在需要时重构,保持结构整洁。
  3. 编写文档,阅读描述比查看代码要快得多,可能会遵循几个级别的功能代码。我经常使用 doxygen。

即使只有您一个人,您也肯定需要源代码控制。能够追踪事情何时发生变化以及它们是如何变化的,这对于某些错误修复来说是非常宝贵的。在构建环境中投入时间通常是值得的。您将大量构建它。我无法在脑海中跟踪错误,Excel 表格就可以了。

如果没有适当的基本结构,您就无法在需要时进行重构。无论您如何处理设计,重构那些第一次没有变得好的部分是维持良好设计的关键。如果您习惯了重构,那么您就不必提前考虑太多步骤,而是可以立即做一些可行的事情,然后在需要添加更多功能时重构它。

关于c++ - 什么软件在设计/规划一个新的大型个人项目时有用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4289013/

相关文章:

c++ - GLFW 3 已初始化,但还没有?

c++ - 构建一个不完整的二叉树

c++ - 如何为数组类型调用新运算符

c++ - 如何确保此树中的可分配性?

c++ - 对于 O(1) 中给定的整数 x,如何得到最小的 n,即 2 ^ n >= x?

c++ - 在 Win XP SP3 上 Ping 广播

c++ - Qt5.5 XML处理使用QDom

c++ - 在 C++ 命名空间中包含 C header - 这是标准行为吗?

c++ - 具有一个默认参数的构造函数

c++ - C++ ubuntu 中的文件访问