软件可维护性讨论
维护主体分层策略(ToB 场景)
维护:人主导,AI辅助生成 | 介入:强制人工签署 + 形式化约束
维护:AI自主生成,人抽样审计 | 介入:异步审查、失败率触发人工介入
维护:AI完全自主 | 介入:仅依赖测试门禁,无需人工review
双重可维护性标准
人和 AI 阅读/修改代码的失败模式完全不同,需要同时满足两套标准:
量化指标体系 — A. AI 生成质量
量化指标体系 — B. 系统健壮性
| 指标 | 定义 | 意义 |
|---|---|---|
| 爆炸半径指数 | 一次变更实际影响的模块数 ÷ 预期影响范围 | 长期偏高说明模块边界设计不良,直接倒逼强边界契约式架构成为刚需 |
| 规格-代码漂移分数 | 用从Spec直接生成的属性测试跑现有代码,统计失败率 | 衡量"代码实际行为"与"最初声明意图"之间的累积漂移 |
| 回归复发率 | 修复过的bug类型再次出现的比例 | 衡量"教训"是否真正反哺进了Spec/测试集,而不只存在于某次对话上下文 |
量化指标体系 — C. 人工兜底能力(ToB 关键)
| 指标 | 定义 | 意义 |
|---|---|---|
| 冷启动 MTTR | AI工具不可用时,人工独立定位并修复生产事故的时间 | 可维护性的真正下限测试。若人丧失独立排障能力,系统稳定性单点绑定在AI服务可用性上 |
| 新人上手时间 | 无项目上下文的工程师独立做出一次安全变更所需时间 | 验证代码本身(非AI辅助)的可理解性下限 |
| 合规可审计覆盖率 | 关键模块中,人工可读文档+签署记录覆盖比例 | ToB刚性约束,不随AI能力提升而放松 |
ToB应用生命周期极长(5-10年),当前生成代码的模型/prompt几年后可能退役。届时能否用新模型基于旧Spec可靠地重新生成/理解旧代码,是一个全新且被低估的风险。