同事小周买了一套二手房,钥匙到手那天,前业主留下一句话:“线路都是好的,你自己摸索。”于是第一个周末,小周守着跳闸的电闸手足无措;第二个周末,他想在次卧挂一幅画,一锤子下去,打爆了藏在墙里的水管。如果前业主留下一套图纸——户型图、水电走向图、装修记录、使用说明——这一切都不会发生。 软件项目也是这样。代码是那堵墙,文档就是墙里走线的图纸。没有图纸,一个 AI 模型的推理服务半年后没人敢动;有了图纸,新同学一周就能独立值班。 本指南把“写技术文档”类比成“装修房子”。我们会先认识四张图纸:蓝图画整体格局,接口图管水电交接,设计图记取舍缘由,手册管日常维护;然后学施工规范、图纸编号、预制构件、监理验收和入住回访。读完后,你会拥有为 AI 工程团队搭建文档体系的完整工具箱。

岗位关联

对 AI 从业者而言,文档能力是把复杂系统变成团队共识的杠杆:会写文档的人,能让一百个工程师少走一万小时弯路。

目录
  1. 可视化演示
  2. 一、文档类型认知:先分清四张图纸
  3. 二、写作核心原则:施工规范不是漂亮话
  4. 三、结构设计方法:图纸的分区与编号
  5. 四、文档即代码:预制构件的工业化思维
  6. 五、评审与协作:监理不是找茬
  7. 六、度量与优化:入住回访与口碑
  8. AI 应用场景
  9. Python 演示
  10. 常见误区
  11. 面试题

可视化演示

展示技术文档类型体系(ADR/API/Design/Runbook)、Diátaxis四象限框架及文档度量指标体系,帮助理解技术文档的标准化管理与持续改进策略。

本节配有交互动效(进入视口后自动加载,约 3KB)。

'+captions.types+'

一、文档类型认知:先分清四张图纸

装修开工第一件事,是找物业要户型图:承重墙在哪、管道井在哪、阳台能不能封。没这张图,任何改造都是蒙眼拆墙。户型图就是房子的“架构文档”。

软件项目也有四张图纸。架构文档描述系统由哪些模块组成、模块之间如何通信、数据如何流动,读者是架构师和新成员;API 文档描述每个接口的入参、出参、错误码和示例,读者是调用方工程师;设计文档记录一个功能为什么这样设计、有哪些取舍,读者是评审者和维护者;运维手册讲怎么部署、怎么监控、出故障第一步做什么,读者是值班工程师。

四张图纸都重要,但资源有限,先写哪张?一个实用判据是:读者越多、信息失效损失越大、内容越稳定、维护成本越低的文档,越值得优先投入。把这种感觉写成分数:

想想装修:插座接口图画得越细,电工、木工、房主三方越少吵架;而墙体改造图这种半年就变一次的内容,画太细反而是负担。选文档类型,就是给自己做投入产出预算——把笔墨花在读者最多、最怕出错、最稳定的地方。

D∗=arg⁡max⁡D∈{架构,API,设计,运维}UD×RD×SDCDD^* = \arg\max_{D \in \{\text{架构},\text{API},\text{设计},\text{运维}\}} \frac{U_D \times R_D \times S_D}{C_D}
通俗说:U 是读者规模,R 是出错损失,S 是内容稳定性,C 是维护成本。四个值一乘一除,得分最高的文档类型先写。
  1. 候选文档集D 从四种文档类型中选取,正如四张图纸里挑一张先画。
    D∈{架构,API,设计,运维}D \in \{\text{架构},\text{API},\text{设计},\text{运维}\}
  2. 读者规模 U读这份文档的人数越多,价值越高,像户型图全家人都在看。
    UD=该类文档的潜在读者数U_D = \text{该类文档的潜在读者数}
  3. 风险系数 R信息缺失导致的沟通成本或线上事故,按 0 到 10 打分。
    RD∈[0,10]R_D \in [0, 10]
  4. 稳定性 S内容多久变一次,月变更次数越多,稳定性越低。
    SD=11+月变更次数S_D = \frac{1}{1 + \text{月变更次数}}
  5. 维护成本 C写作与持续更新所需的总投入人时。
    CD=写作人时+年维护人时C_D = \text{写作人时} + \text{年维护人时}

二、写作核心原则:施工规范不是漂亮话

装修队必须守着施工规范:插座离地 30 厘米、水管试压 8 公斤、瓷砖空鼓率低于 5%。没有这些数字,手艺再好的师傅也各干各的,交付的是一间“看起来能住、住起来要命”的房子。

技术文档也有四坚持。读者视角:动笔前先问谁在看、看完要做什么,像施工队长先问房主的生活习惯;准确简洁:能一句话说清不用三句,“大约 3 秒”要写成“预计 3 秒,超时阈值 5 秒”;用词统一:同一个概念全篇只有一个称呼,禁止 abort、error、failure 混用;持续更新:代码变,文档立即跟着变。

怎么量化“好读”?语言学里有一个著名的 Flesch 可读性公式,它把“句子长度”和“用词难度”折算成分数,正好对应我们说的简洁和准确:

施工规范不保证房子豪华,但保证不出人命;写作原则不保证文笔优美,但保证读者 30 秒内找到答案。把“读者视角”写入验收标准,文档才算真正交付。

RE=206.835−1.015×ws−84.6×lw\text{RE} = 206.835 - 1.015 \times \frac{w}{s} - 84.6 \times \frac{l}{w}
通俗说:w 是总词数,s 是总句数,l 是总音节数。句子越短、用词越常见,得分越高(0-100)。工程文档的读者是在屏幕上扫读,短句就是他们的救星。
  1. 总词数 w全文单词总量,作为两个比值的分母。
    w=∑全文单词数w = \sum \text{全文单词数}
  2. 平均句长总词数除以总句数,衡量句子拖不拖沓。
    ws=平均每句词数\frac{w}{s} = \text{平均每句词数}
  3. 音节密度总音节数除以总词数,衡量用词朴不朴素。
    lw=平均每词音节数\frac{l}{w} = \text{平均每词音节数}
  4. 加权扣分两类“拖累”乘以权重后从满分里扣,剩余就是可读性。
    RE=206.835−1.015×ws−84.6×lw\text{RE} = 206.835 - 1.015 \times \frac{w}{s} - 84.6 \times \frac{l}{w}

三、结构设计方法:图纸的分区与编号

一栋别墅的图纸有几十张:首层平面图、二层平面图、水电系统图、节点大样图。如果没有统一图号和目录,工人找一张“次卧插座图”要翻半小时。图纸越多的项目,编号体系越重要。

文档结构设计的三件套:层级组织,按“总纲-章节-小节”组织,像楼层-房间-墙面,一个主题只在一个地方详细讲;模板规范,每类文档统一标题层级、元信息(负责人、更新日期、状态)和段落结构;导航索引,提供目录、站内搜索和相关文档链接,像楼层的逃生指示图。

信息架构有一个“七正负二定律”:人一次能轻松记住 5 到 7 个条目。假设文档有 N 个主题、每层最多放 b 个入口,那么找东西需要的层级深度是:

图纸编号体系不是束缚,而是整个施工团队的共同语言。文档的层级、模板、目录就是这套编号——让读者永远知道自己在哪、下一步去哪,而不是在文档里迷路。

d∗=⌈log⁡bN⌉d^* = \lceil \log_b N \rceil
通俗说:50 个主题、每层 7 个入口,三层就能装下。如果每层硬塞 50 个入口,一层就够,但没人找得到——这就是“越宽越深、越深越累”的权衡。
  1. 主题总数 N文档树里所有知识点的数量,相当于所有房间数。
    N=全部文档主题数N = \text{全部文档主题数}
  2. 分支因子 b每个父节点下子节点的数量上限,经验值 5 到 7。
    b∈[5,7]b \in [5, 7]
  3. 取对数求需要多少层才能装下 N 个主题,底数为 b。
    log⁡bN=ln⁡Nln⁡b\log_b N = \frac{\ln N}{\ln b}
  4. 向上取整层数必须是整数,超过一点也得多加一层。
    d∗=⌈log⁡bN⌉d^* = \lceil \log_b N \rceil

四、文档即代码:预制构件的工业化思维

传统装修靠水泥砂浆现场拌、木板现场锯,工期长、误差大。装配式建筑则把楼梯、墙板做成预制构件,工厂批量生产、现场拼装,质量稳定还能追溯——这是装修业的工业化革命。

文档即代码就是把文档当成代码来管理。四个要点:版本管理,文档和代码同仓库、同分支、同 PR 评审,改代码和改文档一个流程;自动化生成,API 文档从 OpenAPI 规范或代码注释自动产出接口页面;持续发布,CI 流水线自动构建文档站点,提交即更新;一致性校验,用 linter 检查失效链接、缺失标题、术语混用。

文档最大的敌人是过期。把代码变更看作“冲击”、文档更新看作“修复”,可以用可靠性模型描述过期风险:

预制构件消灭了“现场手艺的不可控”;文档即代码消灭了“文档和代码各说各话”。把文档放进仓库、接上流水线,等于给文档装上工业化的质量护栏。

P过期(t)=1−e−λt,λ=f代码f文档P_{\text{过期}}(t) = 1 - e^{-\lambda t},\quad \lambda = \frac{f_{\text{代码}}}{f_{\text{文档}}}
通俗说:λ 是代码变更频率与文档更新频率的比值。代码每个月改 10 次、文档只改 1 次,λ=10,过期概率随时间指数上升,很快逼近 100%。
  1. 失效率 λ代码变更频率除以文档更新频率,比值越大越危险。
    λ=f代码f文档\lambda = \frac{f_{\text{代码}}}{f_{\text{文档}}}
  2. 指数衰减文档“仍然有效”的概率随 t 指数下降。
    e−λt=文档有效的概率e^{-\lambda t} = \text{文档有效的概率}
  3. 补集取反1 减去有效概率,就是过期的概率。
    P过期(t)=1−e−λtP_{\text{过期}}(t) = 1 - e^{-\lambda t}
  4. t 趋于无穷时间拖得越久,过期概率无限逼近 1。
    lim⁡t→∞P过期(t)=1\lim_{t \to \infty} P_{\text{过期}}(t) = 1

五、评审与协作:监理不是找茬

请监理不是为了刁难施工队,而是在瓷砖贴好、墙漆刷完之前发现“防水只刷了一遍”。拆一块砖的成本,比整面墙返工低一个数量级。监理是花小钱防大坑。

文档评审把监理理念搬进写作流程。评审流程:草案 → 小范围评审 → 修改 → 合并 → 发布,每次只聚焦一个问题域,拒绝三小时马拉松大会;角色分工:作者(施工队)、评审者(监理)、维护者(物业)各司其职,架构文档要架构师把关,API 文档要调用方代表亲测;反馈闭环:每条意见记录处理结果,采纳或说明理由拒绝,绝不石沉大海。

为什么评审值得投入?用缺陷发现效率说话——每投入 1 人时,能拦截多少个问题:

监理合格的标准不是“没吵过架”,而是“入住后没漏水”。评审协作的终点不是流程完备,而是文档发布后,再没有读者因为看不懂来敲你的工位。

E评审=N发现的问题H投入的人时E_{\text{评审}} = \frac{N_{\text{发现的问题}}}{H_{\text{投入的人时}}}
通俗说:评审效率 = 发现问题数 ÷ 总人时。评审越早、批次越小、材料越聚焦,E 越高。当 E 低于 0.1,说明评审流程该改了。
  1. 问题数 N评审中发现的真实问题,含错别字、歧义、逻辑漏洞。
    N发现的问题=∑有效评审意见N_{\text{发现的问题}} = \sum \text{有效评审意见}
  2. 投入人时 H所有参与者的阅读与讨论时间总和。
    H投入的人时=参与人数×平均耗时H_{\text{投入的人时}} = \text{参与人数} \times \text{平均耗时}
  3. 效率比 E单位投入拦截的问题数,衡量评审划算不划算。
    E评审=NHE_{\text{评审}} = \frac{N}{H}
  4. 改进阈值经验值 E 低于 0.1 时触发流程复盘。
    E评审<0.1⇒启动流程改进E_{\text{评审}} < 0.1 \Rightarrow \text{启动流程改进}

六、度量与优化:入住回访与口碑

聪明的装修公司交付后一定会回访:入住三个月有没有渗水?电闸跳了业主会不会修?回访数据决定了下一单生意和口碑——装修不是交付即终局。

文档也需要连续度量。度量指标四件套:时效性,最后更新时间距今多久;覆盖率,多少关键功能有文档覆盖;可用性,读者能否快速找到目标;满意度,读者真实反馈。数据采集手段:站内搜索词、页面阅读时长、反馈按钮、季度问卷,像物业的报修台账。迭代改进:把指标纳入迭代排期,数据说哪份该重写就重写。

把核心指标合成一个“健康度”,团队就能一眼看到全局:

回访不是装修的尾巴,而是下一单的开始。度量让文档从“写完了”变成“在变好”,这正是文档体系和文档坟场的分水岭。

H=U×S×(1−P过期)H = U \times S \times (1 - P_{\text{过期}})
通俗说:覆盖率 U、满意度 S(归一化到 0-1)、未过期比例(1-P)三者相乘。任何一项太低都会把总分拖垮。健康度低于 0.5 的文档,列入重写计划。
  1. 覆盖率 U已有文档的关键功能占比。
    U=DcoveredDtotalU = \frac{D_{\text{covered}}}{D_{\text{total}}}
  2. 满意度 S读者平均评分归一化到 0-1。
    S=平均分5S = \frac{\text{平均分}}{5}
  3. 未过期比例1 减去过期风险,保证时效性进入总分。
    1−P过期1 - P_{\text{过期}}
  4. 乘积融合三项相乘,缺一不可,像房屋验收四项全过。
    H=U×S×(1−P过期)H = U \times S \times (1 - P_{\text{过期}})

AI 应用场景

场景一:为 AI 推理平台搭建文档体系

阶段:工程化落地与团队协作

解决的问题:AI 团队文档散落在 Wiki、聊天记录和私人笔记里,新人入职靠“逮住师兄问”,信息传递是点对点的、易失真的。传统方式下,架构师被反复拉去讲同一个设计,每次都要从头讲起。用文档类型认知 + 文档即代码,把架构文档和 API 文档放进代码仓库,随 PR 一起评审,让知识沉淀为团队公共资产。

具体案例:某算法平台团队为推理服务集群编写架构文档(模块划分、数据流)和 API 文档(OpenAPI 自动生成),模型服务每次升级的 PR 必须同步更新文档,评审不过不放行。三个月后,新人首次独立部署成功率从 40% 提升到 90%,架构师被拉去答疑的次数减少 70%。

场景二:MLOps 故障运维手册

阶段:模型部署与线上运维

解决的问题:模型在线上崩溃时,值班工程师不知道该先看哪个日志、先重启还是先回滚。传统做法依赖个别老师傅的私人经验,人不在就抓瞎。用运维手册的“故障排查决策树”把高频事故的标准动作写成文档,并通过 runbook 挂钩自动化预案,把经验变成组织资产。

具体案例:推荐系统团队编写《模型服务故障手册》,覆盖 gRPC 超时、GPU OOM、数据漂移三类高频事故,每类给出“检查顺序 + 判定条件 + 标准动作”,并接入告警系统自动弹出对应章节,平均故障恢复时间缩短了 55%。

场景三:文档健康度日报驱动改进

阶段:质量度量与持续改进

解决的问题:文档有没有人看、多久没更新、覆盖了多少接口,全靠感觉。传统方式年底才盘点一次,问题发现太晚,等意识到时文档早已沦为废纸。用文档健康度公式和 Python 脚本做每日扫描,把指标画成趋势图,让“文档债”像监控大盘一样可视化。

具体案例:数据平台组写了一个 doc_health 检查脚本接入 CI,每周输出健康度周报,按“覆盖率 × 满意度 × 未过期比例”排名,三个月把关键功能覆盖率从 35% 提升到 85%,重写了 12 篇过期最严重的文档。

Python 演示

python62 行
# -*- coding: utf-8 -*-"""文档健康度检查器: 扫描 docs 目录, 输出可读性, 时效性, 覆盖率指标."""import osimport reimport time  class DocHealthChecker:    """对每个 Markdown 文档计算健康度指标."""     def __init__(self, docs_dir):        self.docs_dir = docs_dir        if not os.path.isdir(docs_dir):            os.makedirs(docs_dir)            self._seed_sample_docs()        self.docs = [f for f in os.listdir(docs_dir) if f.endswith('.md')]     def _seed_sample_docs(self):        samples = {            'api.md': '## 接口说明\n\npredict 接口接收用户标识并返回推荐结果.\n\n请求参数包含用户ID与条数.\n',            'ops.md': '## 部署手册\n\n拉取镜像后启动容器, 再检查健康检查接口.\n\n如失败则查看日志并重启.\n',        }        for name, content in samples.items():            with open(os.path.join(self.docs_dir, name), 'w', encoding='utf-8') as f:                f.write(content)     def calc_readability(self, text):        """按平均句长估算可读性, 短句得分高."""        sentences = [s for s in re.split(r'[。!?\n]', text) if s.strip()]        if not sentences:            return 100.0        avg_len = sum(len(s) for s in sentences) / len(sentences)        return max(0.0, 100.0 - avg_len * 2.5)     def calc_freshness(self, path, max_age_days=90):        """距上次修改越近, 时效性越接近 1."""        age_days = (time.time() - os.path.getmtime(path)) / 86400.0        return max(0.0, 1.0 - age_days / max_age_days)     def calc_coverage(self, doc_text, code_text):        """统计代码函数名在文档中被提及的比例."""        idents = set(re.findall(r'\bdef\s+(\w+)', code_text))        if not idents:            return 1.0        covered = sum(1 for i in idents if i in doc_text)        return covered / len(idents)     def run(self, code_text=''):        print(f"== 文档健康度报告: {self.docs_dir} ==")        for name in sorted(self.docs):            path = os.path.join(self.docs_dir, name)            with open(path, encoding='utf-8') as f:                text = f.read()            readability = self.calc_readability(text)            freshness = self.calc_freshness(path)            coverage = self.calc_coverage(text, code_text) if code_text else 0.0            print(f"{name:<12} 可读性 {readability:5.1f}  时效性 {freshness:4.2f}  覆盖率 {coverage:.2f}")  if __name__ == '__main__':    demo_code = 'def predict(user_id):\n    return model(user_id)\n\ndef recall(user_id):\n    return candidates(user_id)\n'    DocHealthChecker('docs').run(demo_code)
目的:这个脚本像装修后的“入住回访员”,每天扫一遍 docs 目录,输出每份 Markdown 文档的可读性、时效性和覆盖率,让文档健康度像监控大盘一样可见。
  1. self.docs = [f for f in os.listdir(docs_dir) if f.endswith('.md')]只收集 Markdown 文件作为文档候选,像清点图纸清单。
  2. sentences = [s for s in re.split(r'[。!?\n]', text) if s.strip()]按中文句号和换行切句,去掉空串,句子才是可读性的基本单位。
  3. avg_len = sum(len(s) for s in sentences) / len(sentences)平均句长越短,扫读体验越好,这正是 Flesch 公式的思路。
  4. age_days = (time.time() - os.path.getmtime(path)) / 86400.0用文件修改时间计算文档“年龄”,86400 是一天的秒数。
  5. return max(0.0, 1.0 - age_days / max_age_days)超过 90 天未更新,时效性归零,对应“过期风险”指标。
  6. idents = set(re.findall(r'\bdef\s+(\w+)', code_text))用正则抓代码里所有函数名,作为覆盖率检查的“待覆盖清单”。
  7. covered = sum(1 for i in idents if i in doc_text)逐一检查函数名是否在文档中被提到,得到覆盖数量。
  8. DocHealthChecker('docs').run(demo_code)入口:先构造检查器(自动补样例文档),再传入示例代码跑健康度报告。

常见误区

误区“我写文档特别认真,背景、原理、边界情况全写进去,五六千字洋洋洒洒,读者总该明白了吧?”

正解读者不会像读小说一样读文档,他们是带着任务来的:查参数、找方法、排故障。写作核心原则第一条是读者视角——先问“读者要完成什么任务”,再决定写多长。这就好比房屋使用说明书只写“电闸在哪、水管怎么关”,不会把地基浇筑过程写进去。冗长不是全面,是给读者增加检索成本。

为何常见:我们把“写作”等同于“学习输出”,默认写得详细就是负责,却忘了读者场景是“30 秒定位答案”,不是“系统学习”。

误区“文档写好放在那儿就行,代码也没大改,不用再管了吧?”

正解文档是活的资产,代码一变文档立即贬值。文档即代码要求文档和代码同仓库、同变更、同评审;度量体系中“时效性”指标专门盯这件事。过期文档比没有文档更危险——它会指引读者按错误方式操作,比如照着旧 API 调一个已经删除的接口。

为何常见:人天然把“发布”当成终点,而文档的生命周期恰恰从发布后才开始;过期是渐变而非突变,所以容易被忽视。

误区“我们已经在用 Markdown 写文档了,GitHub 上也有仓库,所以早就践行了文档即代码。”

正解换格式只是表象。文档即代码的核心是四件事:与代码同仓库、版本控制、自动化生成与构建、评审校验。用 Word 文件但走严格的 Git 评审流程,反而比“用 Markdown 却在群里传文件”更接近文档即代码。工具是可见的,流程才是灵魂。

为何常见:学习新概念时,人容易抓住最显眼的工具变化(文件格式),忽略背后的流程变化(版本管理、CI、评审)。

误区“文档评审要等人齐、要开会、要改好几轮,太慢了,不如先发出去再说。”

正解评审不是走形式,而是把缺陷发现在最便宜的阶段。评审效率 E = 问题数 ÷ 人时,小批量、高频、聚焦的评审单位产出最高;而发布后读者在工位上反复追问、照错文档操作引发事故,成本高一个数量级。监理不是找茬,是省钱。

为何常见:只看到了评审的显性成本(等待、开会、修改),看不到误导读者和重复答疑的隐性成本,于是做出了看似省时实则更贵的选择。

面试题

Q1. 在文档类型认知中,描述系统整体模块划分与交互关系的文档是?

单选题 · easy

  • A.架构文档← 正确答案
  • B.API文档
  • C.设计文档
  • D.运维手册

答案:A。架构文档像房屋户型蓝图,负责描述系统整体的模块划分与交互关系,是新人入门的起点;API 文档是接口明细(水电接口图),设计文档记录取舍(装修设计图),运维手册是操作指南(使用维护手册),各有各的读者和场景。

Q2. 编写 API 文档时,最应该优先保证的内容是?

单选题 · easy

  • A.接口参数与调用示例← 正确答案
  • B.作者的个人工作心得
  • C.团队的团建照片素材
  • D.项目的预算明细表格

答案:A。API 文档是给调用方看的水电接口图,参数、示例、错误码是调用方的刚需,缺了就没法接线;个人心得、团建照片、预算明细与接口调用无关,写进去只会增加检索噪音,违反“准确简洁”原则。

Q3. “文档即代码”最核心的价值在于?

单选题 · easy

  • A.文档可以离线下载阅读
  • B.减少服务器存储的开销
  • C.让文档的排版更加美观
  • D.文档随代码变更同步演进← 正确答案

答案:D。文档即代码的价值在“流程”而非“格式”:与代码同仓库、随 PR 评审、自动化发布,让文档跟着代码变。离线阅读、省存储、美观都不是它的核心收益,这些只是副作用。

Q4. 文档评审中发现设计与实现不符时,正确的处理方式是?

单选题 · mid

  • A.直接删除对应的文档
  • B.口头提醒相关工程师
  • C.记录缺陷并跟踪到闭环← 正确答案
  • D.等下次大版本再修订

答案:C。评审的价值在于把问题显性化并闭环:记录缺陷、跟踪到解决,才不辜负投入的人时。口头提醒无记录、推迟修订让读者继续踩坑、直接删除浪费已有知识资产,都不符合反馈闭环的要求。

Q5. 下列哪一项不属于技术文档的写作核心原则?

单选题 · mid

  • A.站在读者视角写作
  • B.术语用词保持统一
  • C.文档越长越有深度← 正确答案
  • D.内容准确且简洁

答案:C。写作四原则是读者视角、准确简洁、用词统一、持续更新。“文档越长越有深度”恰恰是常见误区——读者是来解决问题而不是读论文的,冗长会增加检索成本,违背读者视角。

Q6. 下列哪一项不属于文档健康度的核心度量指标?

单选题 · easy

  • A.文档内容的时效性
  • B.文档覆盖的功能率
  • C.文档使用的字号字体← 正确答案
  • D.文档读者的满意度

答案:C。健康度 = 覆盖率 × 满意度 × 未过期比例,三项都是内容层面的指标;字体字号属于排版细节,既不影响读者找答案,也不反映文档内容质量,因此不属于核心度量指标。

Q7. 代码月变更 10 次、文档月更新 1 次,则文档过期风险随时间如何变化?

单选题 · hard

  • A.保持线性不变
  • B.逐渐趋于零
  • C.呈现指数级上升← 正确答案
  • D.先降后升再降

答案:C。按过期模型 λ=f代码/f文档=10,P=1−e^(−10t),失效概率随 t 指数逼近 1。代码频繁变动而文档跟不上,正是“文档即代码”要解决的问题,也是时效性指标存在的意义。

Q8. 下列哪些属于常见的技术文档类型?

多选题 · mid

  • A.架构设计类文档← 正确答案
  • B.API 接口类文档← 正确答案
  • C.运维操作类手册← 正确答案
  • D.员工考勤记录表

答案:ABC。四种常见文档类型是架构文档(户型蓝图)、API 文档(水电接口图)、设计文档(装修设计图)、运维手册(使用维护手册)。考勤记录与软件知识传承无关,不在文档体系之列。

Q9. 下列哪些属于“文档即代码”的典型实践?

多选题 · mid

  • A.文档与代码同仓库管理← 正确答案
  • B.用 Word 邮件传阅文档
  • C.CI 流水线自动发布文档← 正确答案
  • D.用静态检查校验文档← 正确答案

答案:ACD。文档即代码的典型实践是同仓库版本管理、CI 自动发布、静态校验三件套,对应装配式建筑的标准化生产。用 Word 邮件传阅恰恰是它的反面:没有版本、没有流水线、没有自动校验。

Q10. 提升文档评审环节效率的有效做法包括哪些?

多选题 · hard

  • A.小批量高频次的评审← 正确答案
  • B.明确评审角色和职责← 正确答案
  • C.无限延长评审的时间
  • D.建立问题跟踪的闭环← 正确答案

答案:ABD。评审效率 E=问题数÷人时:小批量让注意力集中,角色清晰让意见有主理人,闭环让每个问题落地。无限延长评审时间只会稀释单位人时的产出,让 E 值下降而不是上升。