Files
gplan-2/design/dev/code-conventions-cases.md
T
DKChan 5858629719 docs(规约): 第二刀按真实范本密度压缩——CLAUDE.md 67行祈使句体+流程纪律独立成文(2026-10-15 用户令)
- 对照实测范本(anthropics/claude-code 40 行、openai/codex ≈250 行纯祈使句等七份)逐类清除叙事层:
- CLAUDE.md 140→67:三段开发流程/批次清单/分支纪律/两入口与MC细则/像素纪律全部降级出主文件;红线压成一行一条祈使句+指路;呈报六问压缩为单条索引行
- 新增 process-conventions.md(86 行):三段流程表格化+批次清单 14 条+两入口/MC 触发/分级周期/MC 档位/闸机轮次细则+像素结构件纪律——批次开工时加载
- 新增 code-conventions-cases.md(55 行):全部反面案例+缺陷对照表迁入(不常驻加载);code-conventions 148→92 行纯规则
- doc-conventions 149→120:总纲收一行、论证段压括注、骨架与生命周期条款表格全保
- 规则名全保(两入口铁规/文档同步闸/MC 触发细则等外部按名引用零断链,已全仓扫描核实)
- 机械闸:七文件≤150 ✓ IMPORTANT=0 ✓ 日期残留=0 ✓ 主文件叙事残留=0 ✓ 熵增闸 PASS ✓ doc 两闸零波及 ✓
- 行为验证:全新上下文子代理六问导航 6/6 正确(新增流程/像素面全命中)
2026-10-15 15:38:16 +08:00

3.0 KiB
Raw Blame History

代码规范反面案例库(code-conventions 配套)

本文件是 code-conventions.md 各条规则对应的真实反例,说明每条规则针对什么缺陷;规则本体以规约为准,规约与本文冲突时以规约为准。不随规约常驻加载——写码前不必通读,对某条规则的适用有疑义时再查。

1.1 上帝对象

main.gd 曾长到 ~1100 行——棋盘渲染、HUD、结算日志格式化、四种模态覆盖层、调整板、模拟器、关卡流程全部内联;后拆分为 9 个单一职责单元(views/ + hud_presenter),main 回到 ~430 行组合根。

1.2 裸函数堆

供给控制器曾以裸函数伪代码呈现被否;正式实现按私有组合件 RewardSupplyController 封装。

1.4 ID 前缀命名

ID 前缀是跟随 GDD 文档名的事实约定,从未成文;config_db/rng_service 无前缀与 A/B/C 系列并存——两套命名并行即规范缺失。

1.4.1 文件头失守

main.gd 头注曾累积 42 行——历次提交各自追加「本批做了什么」而全部闸静默放行;删掉叙事后仍剩 31 行,约 2/3 是对 code-conventions §1.3 与 ADR-0001 的整段复制、场景结构/生命周期机制描述(对规约与代码零新信息)。

2.1 信号契约缺失(软锁)

旗动作花完末点 AP 后相位翻 Waiting 但不发 round_end,结算点依赖该事件 → 整局软锁;自动玩家不用旗,冒烟路径覆盖不全没抓住。

2.2 标识符语义错位

窗口选择契约 = 窗口条目位置,UI 却传库存数组句柄——未消耗时二者巧合相等;消耗一件后错位 → 选中件不消耗、邻件被误耗。

2.3 覆盖层不可达

数值调整板已实现,但打开时被不透明的开始覆盖层完全遮住 = "点击无反应"。功能存在 ≠ 功能可达。

2.4 状态字段语义隐式

spawn 把 hero 的 max_hp 设为入参 hero_hp——跨战斗携带 HP 时上限被压扁,恢复点/治疗包的满血守卫全部失效。

5.3 单尺度校准的关卡灾难

可选类 25% 格子配比在单战斗尺度校准(击杀需求 18/54),×"库存关内延续"× 5 张板复合后 = 每关 24.8 件、刀总伤 180 > Boss 130 HP——单尺度合理的参数在关卡尺度坐实灾难。

5.4 拍板范围外自行发挥

清图奖励被自行设计成入库刀,用户纠正为"一次性高额伤害不入库"。

缺陷-规范对照表

缺陷 现象 对应规则
UI 抖动 / "第3轮"消失 悬停文案换行推挤侧栏,末行被挤出视口 1.1 拆分 + 视图定长槽
Boss 战 AP 用完不结算(软锁) 插旗耗尽末点 AP 后整局冻结 2.1 事件发射完整性
道具使用后不消失 选用件留存、邻件被误耗 2.2 标识符语义单一
调整板点击无反应 面板已实现但被开始层遮挡 2.3 层级规则 + test-conventions §2
上帝对象 main.gd ~1100 行 1.1–1.3
ID 前缀命名 两套命名并存 1.4–1.5
可选类每关 24.8 件 速杀退化、囤刀秒 Boss 5.3 跨尺度推演