我听过大厂人最多的抱怨就是今天又写技术文档,然后过不了两天就开始抱怨文档不完善没更新,各种问题。
文档到底有多重要
高质量的文档并不是光给领导看的,一个好的文档对于团队来说有很多好处,不仅可以减少Bug,还能让一个团队聚焦于业务。
另外就是文档的的好处有一些延迟性,有些问题我们可以当时反馈,就知道哪里有问题了。但是文档的作用是传承,好多人看到这就以为我要开始扯了。其实不然,一份好的文档接下来会被阅读上千次。后来的新人可以看到当时为什么这么做决策,当时情况下代码是怎么实现的。
文档可以帮助我们构思规范化API:文档只要一写出来,我们就基本上可以判断API设计合理与否。
文档是代码的另一种展现:太多开发写完代码两年以后不认识了,但是文档就可以让我们回忆起来当时的思路。
避免重复问题:有些问题只要一次写到文档内,有人来问的时候就可以直接甩文档过去了。
开发为什么都讨厌写文档
首先就是思想问题,有的人认为文档是形式主义,跟周报一样,是写给领导看到的。压根没有把文档当成“自己工作范围内”的工作。
另外就是懒,不想写,觉得自己有思路但不适合写出来。
还有一种情况就是没有好的工具嵌入到工作中。
最后就是大家把写文档当成负担,越是这样越不爱写。
好文档的标准
技术圈已经总结了很多书都是有关文档,比如《重构》,这里就有很多编程语言和文档的相关规范。还有《代码简洁之道》读完后大家也可以发现文档对于编码十分重要。但是没有一个人说文档的标准是什么?
(1)规范:如果公司内部有统一的规范,就按照规范去写。如果没有尽量自己控制;
(2)有版本控制:这里不用过多解释
(3)协作:不仅仅是自己的板块内容,只要涉及到协作的就写清楚明确的负责人
(4)有变更Review机制:一个团队就要每个人都有自己的责任,如果CodeReview做的好的话,文档的Review也属于CodeReview的一部分。
(5)有问题的反馈和更新机制,定期更新
最后也是最重要的就是有准确性,不要写完了不照着做,那真是没有任何意义了,其次就是时效性,不要更新完了,但与实际开发完全不符。
写文档的原则
WHY:为什么写这篇文档
WHO:写给谁
WHAT:用途
WHEN:创建日期,review和更新日期
WHERE:在哪,一个好的工具和永久留存十分重要!
互联网公司越大规模越重视文档,所以如果在一个小公司,你就养成注重文档的习惯也是为大厂做铺垫。文档是开发的一部分,不要隔离开!一个文档只专注一个业务,不要把所有东西都堆上来。文档的作者是你,阅读者是别人!注意别人的观感。