本文大部分内容翻译总结自《Software Engineering at Google》 第10章节 Documentation。 另外,该书电子版近日已经可以免费下载了 https://abseil.io/resources/swe_at_google.2.pdf,有兴趣的同学可以下载翻阅下。 首先声明,本问所说的文档不仅限于纯文本文档,还包含代码注释(注释也是一种特殊形式的文档)。

很多技术人自己非常轻视技术文档的书写,然而又时常抱怨文档不完善、质量差、更新不及时…… 这种在程序猿间普遍存在的矛盾甚至已经演变成了一个段子。
文档的重要性
高质量的文档对于一个组织或团队来说有非常多的益处,比如让代码和API更容易理解、错误更少;让团队成员更专注于目标;也可以让一些手工操作更容易;另外如果有新成员加入的话有文档也会让他们更快融入……
写文档有比较严重的收益滞后性,不像测试,你跑一个测试case,它能立即告诉你是对还是错,它的价值马上就体现出来了。而写一份文档,随着时间的推移,它的价值才会逐渐体现出来。 你可能只写一次文档,将来它会被阅读上百次、上千次,因为一份好的文档可以在未来替你向别人回答类似下面这些问题。
1. 为什么当时是这么决策的?
2. 为什么代码是这样实现的?
3. 这个项目里都有哪些概念?
4. ……
写文档同样对于写作者也有非常大的收益:
1. 帮你构思规范化API: 写文档的过程也是你审视你API的过程,写文档时会让你思考你API设计是否合理,

本文探讨了技术文档的重要性,指出高质量文档可提高代码理解、减少错误,促进团队协作。文章揭示了大多数人不喜欢写文档的原因,如收益滞后性、写作与编程的割裂感、工具不便等。提出了产出高质量文档的方法,包括像管理代码一样管理文档,明确读者对象,采用5W法则等。强调文档应被视为代码的延伸,是团队协作和长期维护的关键。
最低0.47元/天 解锁文章
2919

被折叠的 条评论
为什么被折叠?



