团队编码规范与风格指南治理

共 17 题
#

1. 编码规范为什么必须"规范即代码"(工具强制)而非仅文档约定,lint、format 与 CI 门禁如何让规范从"建议"变为"默认"?

A 规范写成文档即可,无需强制
B 工具强制会限制开发者自由
C 规范靠开发者自觉遵守
D 用 lint 固化规则、format 统一风格、CI 门禁阻断违规,把规范从'建议'变为'默认' ✓ 正确答案
#

2. 业界编码规范选型中 Google Style Guides、Alibaba Java 开发手册、PEP 8、Airbnb JavaScript 等如何在团队内裁剪、本地化并落地为 lint 配置?

A 直接采用业界规范,不做任何调整
B 每个团队各自发明规范
C 业界规范只作参考,不落地
D 按团队技术栈裁剪本地化,逐条映射为 lint 规则,规范文档与 lint 配置同源,纳入 CI 门禁 ✓ 正确答案
#

3. 存量代码与规范的鸿沟中如何用"新代码强制 + 存量豁免清单"渐进收敛,避免一次性全量格式化吞没 git 历史与评审 diff?

A 一次性全量格式化所有代码
B 存量代码永不整改
C 新代码强制符合规范,存量代码登记豁免清单,随触碰顺带修复,渐进收敛避免吞没 git 历史与评审 diff ✓ 正确答案
D 新代码也豁免
#

4. 规范冲突仲裁中跨语言、框架与团队的规范冲突(import 顺序、命名风格、行宽)如何仲裁,规范版本如何管理与发布?

A 以证据/外部标准为基线,由治理小组仲裁并记录理由,规范版本走评审、灰度发布,lint 配置与规范同步 ✓ 正确答案
B 冲突由个人拍板决定
C 规范无需版本管理
D 冲突靠争论解决
#

5. 编码规范文档的维护中规范条目应包含"禁止项 + 理由 + 正反例",如何防止规范文档过期被开发者无视?

A 规范只写禁止项,不写理由
B 规范仅靠自觉遵守
C 规范文档写好就不更新
D 条目含禁止项+理由+正反例,与 lint 同源防过期,lint 门禁+评审流程防无视,成为活文档 ✓ 正确答案
#

6. 红线清单(禁止项)中 eval/动态执行、浮点相等比较、全局可变状态、硬编码密钥等如何固化为 lint 规则与评审必查项?

A 红线项只写在文档里
B 硬编码密钥方便调试
C eval 偶尔可用
D 能自动化的(eval/浮点比较/硬编码密钥)固化为 lint 规则阻断;不能自动化的纳入评审必查项,红线进 CI 门禁 ✓ 正确答案
#

7. 语言特性使用规范中语言版本基线、禁用特性(如 finalize、with、goto)与已废弃 API 的禁用如何治理?

A 各模块随意用不同语言版本
B 禁用特性可用 lint 豁免
C 设定语言版本基线,禁用危险特性(finalize/with/goto)用 lint 规则,废弃 API 用编译告警+lint 阻断,纳入 CI 门禁 ✓ 正确答案
D 废弃 API 无需处理
#

8. 规范与 IDE/编辑器的一致性中 EditorConfig、IDE 模板、代码片段如何让开发者"写的时候就合规"?

A 用 EditorConfig 统一格式、IDE 模板预设结构、代码片段提供规范写法,配合 lint 即时反馈,写的时候就合规 ✓ 正确答案
B 开发者写完再靠 lint 修复
C 编辑器配置无关紧要
D 模板与规范无关
#

9. 规范落地与新人 onboarding 中规范文档、示例仓库与结对引导的组合策略,新人如何快速达到团队代码风格基线?

A 只给新人一份规范文档
B 新人自行摸索
C 规范文档(认知)+ 示例仓库(参照)+ 结对引导(实践)+ lint 门禁(反馈),组合帮助新人快速达标 ✓ 正确答案
D 结对只在出问题时
#

10. 规范例外的治理中 suppress/ignore、lint-disable 的申请、审批、期限与过期清理,如何防止豁免堆积?

A lint-disable 随意使用
B 豁免需申请审批、关联期限与 ticket,定期扫描清理过期豁免,防止豁免堆积 ✓ 正确答案
C 豁免永久有效
D 豁免无需登记
#

11. 规范覆盖范围中代码、提交信息、分支命名、PR 描述与 CHANGELOG 如何纳入统一的工程规范文档体系?

A 规范只管代码风格
B 分支命名无约束
C 提交信息随意写
D 代码、提交、分支、PR、CHANGELOG 纳入统一规范文档体系,各层用对应工具强制并纳入 CI 门禁 ✓ 正确答案
#

12. 团队规范更新的流程中谁提、谁评审、如何试点灰度、如何回滚,规范变更与代码评审如何联动?

A 规范变更直接全量生效
B 提出→评审→试点灰度→回滚,规范变更与 lint 配置、评审 checklist 同步联动 ✓ 正确答案
C 规范变更无需评审
D 规范变更无法回滚
#

13. 企业编码规范如何吸收外部标准,MISRA、SEI CERT、OWASP 等标准的可执行规则如何映射为团队 lint 规则与评审清单?

A 外部标准只作参考,不落地
B 标准规则与团队规则冲突时忽略外部
C 只启用一条标准规则
D 把 MISRA/SEI CERT/OWASP 的可执行规则映射为 lint 规则自动化检测,无法自动化的列入评审清单,纳入 CI 门禁 ✓ 正确答案
#

14. 规范落地效果的度量中违规率、lint 豁免率、评审中规范类评论占比等指标如何跟踪改进?

A 只统计违规率一个指标
B 用违规率、lint 豁免率、评审规范类评论占比等多指标跟踪,豁免率过高告警,驱动规范改进 ✓ 正确答案
C 规范落地无需度量
D 豁免率越高越好
#

15. 规范与脚手架联动中脚手架生成的代码如何天然符合规范,避免每个新项目从零配置?

A 每个新项目从零配置规范
B 生成项目后需手动重配规范
C 脚手架与规范无关
D 脚手架内置 lint/format/CI 配置与代码模板,新项目天然合规,脚手架随规范版本维护更新 ✓ 正确答案
#

16. 多语言仓库的规范矩阵中一个仓库多种语言的规范与工具链如何编排,统一格式化的边界在哪?

A 每种语言自己的工具链,用统一编排层运行;基础格式统一、语言特有规则自治,不强行跨语言统一 ✓ 正确答案
B 所有语言用同一套 lint 规则
C 无法统一就放弃规范
D 只维护一种语言的规范
#

17. 人读规范与机器读规范的同源维护中规范文档与 lint 配置如何共享同一数据源,避免双份维护漂移?

A 文档与 lint 配置各写一份
B 用单一数据源驱动 lint 与文档,CI 校验一致性,避免双份维护漂移 ✓ 正确答案
C 文档比 lint 配置重要
D 漂移不可避免,无需处理