探索十分有趣,但始终要花时间,而我们往往没有时间。既然代码不会讲述完整的故事,一些辅助文档就非常有用,特别是如果你把软件交接给其他人或者经常有人离开和加入的团队。我的建议是,把这个辅助文档当作一个指南,它应该给人们上手提供足够的信息,帮助他们加快探索的过程。不过要抵挡住深入太多技术细节的诱惑,因为理解那个层次细节的技术人员自然知道如何从代码库找到它。和任何事一样,其中有一个愉快的平衡点。
以下标题描述了你可能想要包含在软件指南中的事情:
1.语境;
2.功能性概览;
3.质量属性;
4.约束;
5.原则;
6.软件架构;
7.外部接口;
8.代码;
9.数据;
10.基础设施架构;
11.部署;
12.运营和支持;
13.决策日志。