我主张对源代码进行评论并记录软件产品。根据我的个人经验和观察,在必须开发软件或维护软件的过程中,对经过严格注释的源代码进行的工作以不同的方式帮助了我。
但是,还有一个阵营说评论最终毫无价值,或者其价值值得怀疑。许多不加评论的编码支持者认为:
- 如果一段代码写得很好,那是自我解释,因此不需要注释
- 如果一段代码不是不言自明的,则对其进行重构并使其变得不言自明,以便它不需要任何注释
- 您的测试套件就是您的实时文档
- 随着时间的流逝,代码和注释不同步,这成为令人头疼的另一个原因
- 敏捷表示工作代码比大量文档更重要,因此我们可以放心地忽略编写注释
对我来说,这只是教条。再次,我个人的观察是,由才华横溢,经验丰富的开发人员团队编写的软件最终最终会产生大量不言自明的代码。
同样,Java API,Cocoa API,Android API等表明,如果您要编写和维护高质量的文档,则可以实现。
综上所述,基于个人信念的有关文档优缺点的讨论以及对源代码的评论通常不会以良好的结局而无法得出令人满意的结论。
因此,我正在寻找有关软件文档(尤其是注释源代码)对其质量和可维护性及其对团队生产力的影响的影响的学术论文和实证研究。
您是否偶然发现了此类文章?如果有的话,结果如何?
2
无论如何,我认为这是一个有趣的问题,但是对于它可能在这里被关闭我并不感到惊讶。这就是为什么我也在Quora上发布了它。
—
Behrang Saeedzadeh
@gnat-在我看来,“在软件开发领域的这方面进行了哪些研究?” 与“请给我有关某个主题的书”的要求不那么受欢迎相比,这是一个完全不同的问题。
—
Josh Kelley
仅从阅读标题即可:没有关于任何事物对质量的影响的经验研究。如果有,则此站点将不存在。
—
欣快的
@Euphoric您的两个陈述相互矛盾。如果我们忽略30年前的“疯狂”文档,就不会有冲突。但是无论如何,我们不应该仅仅因为发现过时而忽略发现,而是要批判性地评价它们与现代工作的关系(我们也应该获得新的结果)。
@Euphoric希望您将其发布为答案,这样我可以否决您对一揽子断言的全面缺乏研究的看法。关于不同技术对软件质量的影响,有大量关于经验和其他方面的论文和研究。您学习过有关软件工程的任何知识吗?
—
Andres F.