Junjie
2026-04-13 3e28500e76ffd71b7da90f40d1f3126c00a0e5f0
AGENTS.md
@@ -174,7 +174,36 @@
- 不新增与现有体系并行但职责重复的 Service、Util、线程或页面。
- 不绕过 Mapper XML 直接拼接杂散 SQL。
## 5. 执行前检查
## 5. 代码可读性要求
Agent 生成的代码必须易于人类阅读和维护,禁止以下写法:
### 5.1 命名
- 禁止单字母变量名(循环计数器 `i`/`j` 除外)、无意义缩写(`mgr`、`hdl`、`proc` 除非是项目既有约定)。
- 变量名和方法名必须能表达意图,读名字就知道"这是什么"或"做什么"。
- 中文业务术语可直接用拼音或英文全称,不要发明缩写。
### 5.2 控制流
- 禁止超过 3 层的嵌套 if/for。遇到深层嵌套,提取为独立方法或用 early-return 扁平化。
- 禁止超长方法(超过 80 行应考虑拆分)。
- 禁止在一个表达式里链式调用超过 3 个操作(如 `a.getB().getC().getD().do()`),应拆成中间变量并命名。
- 三元运算符只用于简单赋值,禁止嵌套三元。
### 5.3 注释与意图
- 不写"翻译式注释"(如 `// 获取用户名称` 放在 `getUserName()` 上方)。
- 注释只解释"为什么这样做",不重复"做了什么"。
- 复杂业务逻辑、非显而易见的边界处理、绕过的坑,必须加注释说明原因。
### 5.4 结构
- 不把多步逻辑压缩成一行以"减少行数"。一行只做一件事。
- 不为了"通用"而提前抽象。三次以上重复才考虑提取。
- 异常处理必须有实际意义,禁止空 catch、`e.printStackTrace()` 或吞掉异常后继续跑。
## 6. 执行前检查
开始实现前至少确认以下几点:
@@ -187,7 +216,7 @@
如果这些问题里有任何一项答案是“是”,实现时必须把相关链路一并纳入。
## 6. 搜索与排查方式
## 7. 搜索与排查方式
优先用快速定位,不做无边界扫读:
@@ -205,7 +234,7 @@
4. 状态回写点
5. 页面渲染或 WebSocket 消费点
## 7. 校验与验证
## 8. 校验与验证
按成本从低到高执行,无法执行时要明确说明原因。
@@ -251,7 +280,7 @@
- `/wcs/views/locMap/locMap.html`
- `/wcs/views/ai/*.html`
## 8. 高风险改动提醒
## 9. 高风险改动提醒
- 改 Mapper XML 时,重点防字段漏映射、别名不一致、结果集类型错误。
- 改线程/调度逻辑时,重点防竞态、重复下发、状态不回收、死循环、异常丢失。
@@ -260,7 +289,7 @@
- 改 AI 配置时,重点防把数据库配置链路和 YAML 回退链路混淆。
- 改监控/地图逻辑时,重点防“后端数据正确但前端渲染错位”和“前端显示正常但状态源错误”互相误判。
## 9. 输出要求
## 10. 输出要求
完成任务后,结果说明应尽量包含: