在设计/规划大型新个人项目时,哪些软件有用?

Elo*_*off 3 c++

我有一个庞大且具有挑战性的C++项目,我计划进行这个项目,可能需要6-18个月来完成第一个版本.如果我将大部分时间都花在这上面,我会先详细计划,这是有道理的.

但它也只是我的工作,所以通常的瀑布设计工具的泥潭更可能是节省时间而不是节省时间.在像我这样的独立项目中工作,什么软件,如果比纸和笔更先进,对我最有帮助?

我知道这个问题有点主观,但我指望SO的社区机制能够为最高层提供最好的答案,以便对一个没有具体答案的问题得到一种民主的答案,每个人都会同意这个答案.

And*_*bel 6

在我自己进行开发时,我尽量保持它的简单,同时仍然有一些结构.

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

  1. 你使用源代码控制吗?
  2. 你可以一步到位吗?
  3. 你有一个bug数据库吗?
  4. 你在编写新代码之前修复了错误吗?

然后我想添加一些我自己的:

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

即使它只是你,你肯定想要源代码控制.在一些错误修复中,能够追踪事情发生变化以及它们如何变化是非常宝贵的.在构建环境中投入时间通常是值得的.你将构建这么多.我无法跟踪我头脑中的错误,excel表会做.

如果没有这种基本结构,则无法在需要时进行重构.无论您如何使用设计,重构那些第一次没有变好的部件是维持良好设计的关键.如果你习惯了重构,那么你就不必考虑太多的步骤,而是你可以做一些现在正常工作的东西,然后在你需要添加更多功能时重构它.