技术文档写作的道与术
文档的范围很广,本文特指 开发人员撰写的包含基本产品背景和主要技术设计的文档 。
世界观
为什么要写技术文档
对于这个问题,我个人觉得很容易回答,写技术文档可以帮助团队完成
当前的信息共享和长期的知识传承 。对于个人而言,一方面可以
节省时间 ,
因为避免了回答重复问题,也便于检索过去的知识;另一方面可以 塑造口碑
,比如某次就突然有个同事给我发消息说我的文档写的很好,对新接触这块业务的人帮助很大。
某某同事的感谢.
反驳不需要写文档的言论
有很多程序员都持有一个观点:“不用看(写)文档,文档都在代码里”,还有一部分人认为,文档容易过时,很难跟上代码的更新节奏,因而没有必要写文档。
凡此种种观点导致了一个局面就是:
接手业务的时候吐槽别人不写文档,交接业务的时候又觉得这东西无需解释,根本不需要文档
。
对此,首先我个人认为涉及代码细节的部分确实没必要写文档,但是对于总体的设计和业务的变更是绝对需要写文档的。有些人觉得文档有过时问题,那是因为他们没有引入版本(ChangeLog)的概念,
过时的文档本身就是业务历史的一部分
,我在接手一个业务的时候,常常就需要这些历史信息来辅助理解。
附议:为什么要看文档
上周发生了一件趣事,一个产品跟我说,
开发两句话能说明白的,为什么要看文档
?确实,问开发能以最快速度准确地获取信息,毕竟人脑就是一个强大的搜索引擎。但是长期来看有以下问题:
-
浪费开发时间
-
开发无法随时答复,浪费自己时间
-
信息无法固化、传承,而且过于琐碎,浪费团队时间
一般来说,一份 好的技术文档
比起开发口述是不会有多余的理解成本的,甚至更低,因为对于很多信息,图片能比语言更好地表达。
什么算好的技术文档
我认为 好的技术文档 的核心是 敏捷 。一方面,好的的技术文档是
高度可维护的并且经常维护
的,比如新增了一些功能,文档的作者能够快速更新文档,文档的读者能及时获取更新;另一方面,好的技术文档是
易理解 的,更详细来说要表述准确、结构清晰、排版美观、风格统一。
文档&写文档的定义
最后,我想探讨下写文档到底是干吗?百度百科说: