我负责找到记录我正在进行的软件项目的好方法。
记录哪些内容很重要?代码和设计的文档是否应该以注释的形式出现在代码中?我们应该将文本文件或Word文档直接放在源代码控制中以便与代码一起使用吗?我们应该使用维基吗?
要考虑的因素包括当前团队创建文档的难易程度,以及其他开发人员以后查找,更正和扩展文档的难易程度。我从许多项目中获得的经验是,开发人员往往不编写文档,因为编写文档的系统过于复杂或开发人员不友好,几年之后,新开发人员很难找到所编写的小文档。
我对您在类似项目中使用的方法感兴趣。什么运作良好,什么运作不好,为什么?
关于该项目的一些关键事实:
答案 0 :(得分:10)
我认为最重要的事情是决策。这适用于从需求到架构选择的所有内容。模块X的要求是什么?这些要求如何在架构中体现?你为什么选择建筑模式A而不是B?有什么好处?源代码也是如此:众所周知,评论为什么比如何更好。
在我看来,如果你使用Wiki或者用Word制作的需求文档,你如何记录这些决定并不重要。更重要的是,这些文档始终是最新的,任何人都可以轻松访问它们。如您所说,这可以通过使用wiki或将文档置于源代码管理下来实现。如果只有少数人可以访问它们,则更有可能无法更新,不必在必要时阅读。
我们将Wiki用于我们当前的项目,并且效果非常好。任何人(开发人员,经理和客户)都可以轻松访问,历史记录可以跟踪更改,因此您可以了解已更改的内容和原因。此外,我们尝试以有意义的方式记录代码并记录主要的设计决策。我们尽量不要记录太多,例如很小的事情,因为总是很难让这些东西保持最新状态,并且不值得努力,imho。
答案 1 :(得分:9)
对我而言,最缺乏文档的是过多的文档。
请记住,是的:记录您的项目非常重要,而且文档的主要部分始终存在从不完全阅读的风险。
所以,我认为一个好的起点在于考虑您的文档更像是您可能用来向项目介绍新开发人员的内容,而不是对软件内部工作的详细描述。
答案 2 :(得分:6)
天儿真好,
绝对使用维基。我推荐TWiki,因为它是一个优秀而广泛的维基实现,而不会太复杂,无法安装和管理。
以下是一些初步想法。
<强>分类强>
从您想要捕获的内容的初始本体开始,但
<强>标记:强>
开始使用标签云。 BTW这是一个出色的插件,可供TWiki在项目早期开始对内容进行分类。改装标签几乎是不可能的。尽早开始标记还允许人们搜索可能已存在的信息,而不是在多个位置使用相同的信息。
HTH我会回过头来添加更多积分,因为我想到了它们。答案 3 :(得分:3)
首先也是最重要的一点,让评论以NDoc可以解析它们的方式编写。这是记录代码本身的最佳方式,因为开发人员必须很少改变他们的开发实践,并且您可以生成解释代码的页面,而无需查看代码。
其次,让开发人员编写文档并不容易,让他们这样做可能是徒劳的。这就是像Fogbugz这样的产品发挥作用的地方。他们将帮助管理门票开发,帮助跟踪检查,以及完成迭代后,生成发行说明。
总之,您最好的选择是找到适合开发人员现有流程的最有效解决方案。如果它对他们的开发过程影响很小,他们就更有可能采用该系统。