代码质量档案与技术债度量

共 18 题
#

1. CodeScene 的"Code Health"指标中复杂度、耦合、变更模式

A Code Health 只统计代码行数
B Code Health 综合复杂度、耦合与变更模式,识别高维护成本的热点区域 ✓ 正确答案
C Code Health 与变更历史无关
D Code Health 只适用于静态代码,不涉及耦合
#

2. PMD CPD(Copy-Paste Detector)的重复代码检测与阈值

A CPD 只能检测完全相同的行
B CPD 通过 token 序列匹配检测重复代码,阈值用于平衡检出率与噪音 ✓ 正确答案
C CPD 无法跨文件检测重复
D CPD 阈值越高检出越多
#

3. SQALE(Software Quality Assessment based on Lifecycle Expectations)方法学的工程价值

A SQALE 把质量违规按其修复成本估算技术债,支持质量量化与排序 ✓ 正确答案
B SQALE 只记录违规数量,不估算成本
C SQALE 与 SonarQube 无关
D SQALE 完全不考虑生命周期期望
#

4. 技术债估算的失真与校准中基于规则的修复时间估算如何结合人工判断与历史数据校准?

A 基于规则的估算精确无误,无需校准
B 所有规则的修复成本都相同
C 估算存在失真,应结合人工判断与历史实际修复数据校准模型 ✓ 正确答案
D 估算值无需与实际工时对比
#

5. SonarQube 的"Maintainability Rating"(A-E)中基于技术债比率的计算

A 评级越高代表技术债越多
B 评级只由代码行数决定
C 评级与可维护性无关
D 评级基于技术债比率,比率越高评级越差 ✓ 正确答案
#

6. lizard(多语言圈复杂度工具)的工程集成

A lizard 只能分析单一语言
B lizard 是多语言轻量级复杂度工具,无需编译即可在 CI 中作为门禁集成 ✓ 正确答案
C lizard 必须编译代码才能分析
D lizard 只能生成 HTML 报告
#

7. 技术债比率(Technical Debt Ratio)= 修复成本 / 开发成本

A 技术债比率越大代表代码越干净
B 技术债比率 = 代码行数 / 缺陷数
C 技术债比率 = 修复成本 / 开发成本,反映质量问题相对开发成本的负担 ✓ 正确答案
D 技术债比率与可维护性无关
#

8. SonarQube 的"Bugs"、"Vulnerabilities"、"Code Smells"三类的统计

A 三类都是安全漏洞
B 三类分别对应正确性、安全性、可维护性三个维度 ✓ 正确答案
C 三类与运行时行为完全无关
D 三类只能合并统计,无法分开
#

9. SonarQube 的"技术债"(technical debt)的时间估算

A 技术债按修复所有已知问题所需时间估算,基于规则修复系数的累加 ✓ 正确答案
B 技术债只统计注释数量
C 技术债估算值精确无误
D 技术债与严重度无关
#

10. SonarQube 的"覆盖率"(coverage)追踪与历史趋势

A 覆盖率追踪展示总体与历史趋势,并可设新代码覆盖率门禁 ✓ 正确答案
B 覆盖率只统计一次,无趋势
C 覆盖率无法作为门禁条件
D 覆盖率只反映代码行数
#

11. 代码质量档案中历史指标与趋势?

A 质量档案只记录代码行数
B 质量档案只需记录当前快照
C 历史趋势无助于判断质量方向
D 历史指标与趋势能展示质量随时间的变化,支持异常检测与治理决策 ✓ 正确答案
#

12. 质量档案(quality profile)的规则集管理中规则启用、禁用与自定义的评审流程和版本控制,如何避免规则集被随意弱化?

A 规则变更应走评审流程、版本化并分级权限,防止规则集被随意弱化 ✓ 正确答案
B 规则集可随意被任何人修改
C 规则集只需一次性配置,无需管理
D 禁用规则无需任何审批
#

13. 规则集升级的存量违规激增中新规则导致门禁瘫痪时,如何分批豁免与限期整改?

A 升级后应直接让所有存量违规阻断合并
B 升级规则时无需评估存量影响
C 存量违规应永久豁免不计
D 先豁免存量、只卡新增,再分批限期整改,避免门禁瘫痪且不长期放任 ✓ 正确答案
#

14. SonarQube 的"质量门禁"(quality gate)中多维度条件

A 质量门禁由单一覆盖率条件决定
B 质量门禁与分支 PR 无关
C 质量门禁无法自动拦截
D 质量门禁由覆盖率、技术债、缺陷、重复率等多维度条件共同判定是否通过 ✓ 正确答案
#

15. SonarQube 的"重复"(duplication)的密度计算

A 重复密度与可维护性无关
B 重复密度 = 缺陷数 / 代码行数
C 重复密度越高代表代码质量越好
D 重复密度 = 重复代码行数 / 总代码行数 ✓ 正确答案
#

16. 技术债的偿还计划中优先级与节奏?

A 应按风险与收益排序优先级,采用固定配额与边开发边还的可持续节奏 ✓ 正确答案
B 一次性还清所有技术债是最好的
C 技术债优先级与功能无关,任意排
D 偿还后无需验证效果
#

17. 质量档案的团队使用中门禁与告警?

A 质量档案用于 PR 门禁拦截,并配告警在指标恶化时提醒团队 ✓ 正确答案
B 质量档案只用于展示,不参与门禁
C 质量档案无需团队共同维护
D 告警只能在发布后触发
#

18. 质量档案的差异化中核心与边缘模块应用不同档案的利弊,如何防止边缘模块质量失守?

A 边缘模块应永久宽松,无需管理
B 所有模块必须用同一种档案
C 差异化档案按风险分级,但需底线规则与定期复核防止边缘模块质量失守 ✓ 正确答案
D 边缘模块的宽松规则可以豁免安全类问题