其他
技术文档写作的道与术
世界观
为什么要写技术文档
反驳不需要写文档的言论
有很多程序员都持有一个观点:“不用看(写)文档,文档都在代码里”,还有一部分人认为,文档容易过时,很难跟上代码的更新节奏,因而没有必要写文档。
附议:为什么要看文档
浪费开发时间
开发无法随时答复,浪费自己时间
信息无法固化、传承,而且过于琐碎,浪费团队时间
什么算好的技术文档
文档&写文档的定义
软件文档或者源代码文档是指与软件系统及其软件工程过程有关联的文本实体。
方法论
基调
足够了解 :我们要为某个模块写文档,前提一定是我们对这个模块足够了解,只有基于此,我们的文档才是有价值的,否则只是信息垃圾。
换位思考 :即便有了交接文档,我们也经常需要去询问交接人,这种情况屡见不鲜,究其本质,是因为很多时候我们都是站在自己的角度、按照自己的理解来写文档的,但是读者的信息背景和我们是完全不一样的,我们觉得理所当然的可能他们一无所知,所以写作文档必须要有足够的换位思考的意识。 文档是写给别人看的,不是写给自己看的 。
MECE原则 :简单来说就是 相互独立,完全穷尽 ,这个思想可以指导我们对文档结构进行组织。下面给出一个参考。
结构
Introduction
Content
Terms
Setup
Body
一图胜千言,如Android的架构图、Actvity的生命周期图,比任何语言都好使。
Demo胜千言。
Reference
相关需求单:比如某个业务所有相关的需求单都放在这里,方便其他人更进一步了解背景,也方便自己查找。
参考资料。
FAQ
Appendix
ChangeLog
ReleaseNote
过程
工具
写作工具
文档有更新怎么分发给每个需要这份文档的人?
Word格式不兼容导致关键图表排版混乱怎么办?
Word
Pdf
Markdown
Asciidoc
Latex
维护工具
另外我推荐使用一个静态网站来存放自己的文档,这样其他同事访问的时候看到的总是最新的文档了。
总结
腾讯资深工程师分享技术干货