技术债识别与分类

共 18 题
#

1. 技术债(Technical Debt, Ward Cunningham)的"原意"中战术债(短期)vs 战略债(长期)

A 技术债就是代码质量差、需要重写的所有代码
B 技术债是"为短期交付而暂时简化、日后需偿还"的取舍,可分为战术债与战略债 ✓ 正确答案
C 技术债一旦产生就永远无法偿还
D 技术债只在项目初期出现,后期不会新增
#

2. 技术债的"显性债"(explicit debt)中注释、ADR、issue 标记的已知债

A 显性债是未被识别的、只能靠事后发现的债
B 显性债不需要记录,因为它会自动消失
C 显性债指被明确识别、记录并跟踪的已知债,可通过注释、ADR、issue 等登记 ✓ 正确答案
D 显性债与代码注释无关,只存在于架构文档中
#

3. 技术债的"隐性债"(implicit debt)中未识别、未量化、未管理的债

A 隐性债是已登记的债,显性债是未登记的债
B 隐性债只存在于旧项目,新项目不会产生
C 隐性债不会产生利息,无需关注
D 隐性债指未识别、未量化、未管理的债,因其不可见而难以排期偿还,风险更高 ✓ 正确答案
#

4. 技术债四象限(Martin Fowler 中鲁莽/审慎 × 故意/无意)在债务分类登记中的应用

A 四象限只按严重程度分为高、中、低、无四档
B 四象限以"鲁莽/审慎"与"故意/无意"两个维度划分,其中"审慎-故意"是合理的技术债选择 ✓ 正确答案
C 所有技术债都是鲁莽且无意的
D 四象限无法用于债务登记,只能用于代码规范
#

5. 技术债盘点工作坊中如何组织研发团队完成识别-分类-定级-登记的技术债盘点,让研发与业务对债务形成共同语言与优先级共识?

A 盘点流程为识别-分类-定级-登记,并通过把技术债翻译成业务影响来与业务达成优先级共识 ✓ 正确答案
B 工作坊只需研发参与,业务无需了解债务
C 工作坊只登记零成本即可还清的债
D 盘点完成后债务清单永久固定,无需再更新
#

6. 技术债利息的构成与非线性中维护成本、缺陷率与交付速度如何因债累积而恶化,如何量化?

A 利息包括维护成本、缺陷率、交付速度的恶化,且具有非线性累积特征 ✓ 正确答案
B 技术债利息是固定的,不随债务累积变化
C 技术债只影响维护成本,不影响缺陷率
D 利息越高说明代码越健壮
#

7. 技术债的"基线"(baseline)中当前快照

A 基线的绝对值越高越好,说明系统越先进
B 基线只用于报告,不影响任何决策
C 基线一旦建立就永不变更
D 基线是某一时刻技术债的快照,主要用于提供对比参照以观察趋势 ✓ 正确答案
#

8. 技术债的"度量"(measurement)中 SonarQube 技术债比率

A 它等于修复成本除以系统开发成本,常用于衡量可静态分析发现的债务 ✓ 正确答案
B 它能完整度量包括架构债在内的所有技术债
C 技术债比率越高说明代码质量越好
D 它只计算测试缺失,不涉及复杂度
#

9. 技术债的"识别信号"中代码坏味道、热点分析、变更失败率

A 只需看代码坏味道即可,无需其他信号
B 代码坏味道、热点分析、变更失败率可相互印证,其中高频改动与高复杂度重叠的区域最值得优先偿还 ✓ 正确答案
C 变更失败率只和运维有关,与技术债无关
D 热点分析只统计代码行数,不涉及复杂度
#

10. 技术债的分类框架中设计债、实现债、测试债、文档债、基础设施债如何识别与权衡优先级?

A 设计债影响面最小,应最后处理
B 所有类型债的优先级都相同
C 技术债可分为设计/实现/测试/文档/基础设施等类型,优先级应综合考虑影响范围、利息速率与偿还成本 ✓ 正确答案
D 文档债无需处理,不影响交付
#

11. 技术债的量化中如何用代码度量(圈复杂度、重复率)、缺陷密度、变更成本估算技术债规模?

A 只需圈复杂度一个指标即可衡量全部技术债
B 缺陷密度越高说明代码质量越高
C 代码度量(复杂度、重复率)反映债的存量,缺陷密度与变更成本反映债的利息,应结合评估 ✓ 正确答案
D 变更成本是静态指标,与复杂度无关
#

12. 技术债的准入规则中什么情况下允许「先快速上线、后补债」,如何用显式 TODO + 债务卡(debt card)防止隐性债无声沉淀?

A 允许借债需满足时间压力、影响可控、有偿还计划等条件,且须用显式 TODO 与债务卡登记以防隐性沉淀 ✓ 正确答案
B 任何情况下都不允许借债,必须一次写对
C 借债后无需登记,因为后续会自动清理
D 只要写 TODO 注释,无论是否有偿还计划都可以借债
#

13. 技术债与新人 onboarding 中遗留系统的高认知成本如何作为债务利息的一部分,如何用文档与演练降低新人上手债?

A 遗留系统的认知成本与债务无关,无需处理
B 新人上手慢是新人能力问题,与系统无关
C 高认知成本是债务利息的一部分,可用文档与演练把隐性知识显性化以降低上手债 ✓ 正确答案
D 只要让新人死记硬背,认知成本就能归零
#

14. 技术债的优先级分级中安全合规债、稳定性债与体验债的偿还紧迫度如何排序?

A 通常按安全合规债 > 稳定性债 > 体验债排序,因为安全合规后果不可逆且最严重 ✓ 正确答案
B 三种债的紧迫度完全相同
C 体验债最紧迫,因为用户最直观
D 稳定性债永远比安全债紧迫
#

15. 技术债与技术演进中引入新框架/重构时,如何判断是"还债"还是"新增债",成本收益如何评估?

A 引入新框架永远是还债,越新越好
B 技术债与技术演进完全无关
C 重构不需要评估成本,直接做即可
D 判断是还债还是新增债应看净债务变化,并用总拥有成本(TCO)评估成本收益 ✓ 正确答案
#

16. 技术债的偿还节奏,与业务平衡?

A 可通过固定配额、随改随还、业务空窗期集中还债等方式与业务平衡,并让还债进入优先级池 ✓ 正确答案
B 应优先无限牺牲业务交付来还债
C 还债应永远排在业务之后,无需排期
D 还债节奏与业务无关,可随意安排
#

17. 技术债的可视化中仪表盘与汇报?

A 技术债可视化只给工程师看,管理者无需知道
B 可视化应区分受众:工程仪表盘看技术指标,管理汇报翻译成业务影响并强调趋势 ✓ 正确答案
C 汇报只讲绝对值,不讲趋势
D 技术债无法可视化,只能口头描述
#

18. 技术债的发现渠道中评审、事故复盘、性能问题与架构评审中暴露的债如何统一登记?

A 各渠道发现的债应各自独立维护,不需统一
B 评审、事故复盘、性能问题、架构评审暴露的债应统一登记到债务清单,避免散落遗漏 ✓ 正确答案
C 只有评审能发现债,其他渠道不能
D 事故复盘发现的债无需登记,因为已经发生