在 V2EX 上看到了一个讨论“大家认为好的交接文档和形式是什么样的?”,我在二楼写了一点看法。之后有人提到了”交接文档残缺坑的是别人,维护文档麻烦的是自己“,我想这是很多软件工程师的真实想法。鉴于过去两年时间里,推进团队的工程实践中在研发技术文档有一些收获
这些文档尽量不要等到交接的时候再去写,而是应该在日常工作中去完成。同时也应该把这些文档当成项目或者仓库的一部分,放在 仓库 wiki 里随着项目更新而修改。这样不管是对新人还是工作交接都更有利于。
以下是我们团队的一些实践: 1.新手教程。 2.架构说明。各个组件的作用,核心依赖以及非核心依赖。国内、海外,主、备等。 3.组件介绍。每个组件的核心逻辑、核心目录等介绍,可以根据重要程度详细或者简略介绍。 4.编码实践。如何搭建本地环境、分支管理策略、issue/PR 规范、代码审核规范、单元测试规范。 5.运维实践-开发篇。如何预发布、灰度、发布、重启、回滚等,以及 CI/CD 。 6.运维实践-运维篇。云服务商依赖、基础设施依赖简介。监控:业务监控、基础设施监控,报警:业务报警、其他报警。 7.测试。 如何单元测试、本地集成测试、预发布环境测试。 8.日志。日志规范、如何使用日志。 9.故障与问题。历史故障复盘、常见问题如何处理。 10.非预期。限流、降级、预案等,最小集功能。 11.账号与 license 。 各种依赖的账号、license 应该去那里找。 12.其他:核心功能的设计讨论文档链接等等。