Files
pixelheros/.trae/rules/project_rules.md
panFD c23c12378c docs(project_rules): 精简并重构项目开发规范文档
重构了原有的项目开发规范文档,将原来的长文本拆分为结构化的章节,优化了排版和可读性,保留了所有核心规则并简化了冗余内容。
2026-05-31 14:04:02 +08:00

60 lines
2.5 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
---
alwaysApply: true
---
# oops-framework & Cocos Creator 3.x 开发规范
- 引用其他文件函数时严格审核引用路径的正确性。
## 技术栈
- Cocos Creator 3.x + TypeScript 严格模式(优先 Interface/Type杜绝 `any`
- 全局对象 `oops` 访问框架功能,通过 `import { oops } from 'xxxx'` 获取
## 架构约束
- Model / View / System(Controller) 分层,禁止将所有逻辑塞入单个组件
- **禁止造轮子**UI、资源、音频、事件、调度等基础功能必须使用 `oops.xxx` 内置模块
## 框架模块速查
| 模块 | 用途 | 关键 API |
|------|------|----------|
| `oops.gui` | UI 生命周期 | `open(name, data)` / `remove(name)`;频繁更新用 MVVM |
| `oops.res` | 资源加载/释放 | `load` / `loadAsync` / `release` |
| `oops.message` | 跨模块事件总线 | `on` / `off` / `dispatchEvent` |
| `oops.timer` | 定时任务 | `register`(禁止 `setInterval` |
| ECS | 大量同类实体(弹幕、群怪) | 框架内置 ECS 库 |
| 行为树 | 复杂 NPC AI | `behavior-tree` 模块 |
| AsyncQueue | 按序异步初始化 | 规避回调地狱 |
### 严格禁止
-`instantiate` + `addChild` 手动管理全屏 UI / 弹窗 → 必须走 `oops.gui`
- 组件间 `@property` 拖拽 / `find` 查找强引用 → 必须走 `oops.message` 事件解耦
- 所有 `oops.message.on` / `oops.timer.register` 必须在 `onDestroy` / `onDisable` 中注销
---
# 代码注释规范
## 核心原则
1. **Clean Code 优先**:命名糟糕则重构命名,而非堆注释
2. **Why > What**:注释解释"为什么",禁止废话注释(如 `// 遍历数组`
3. **JSDoc / TSDoc** 标准格式,注释使用中文,专业术语保留英文
4. **拒绝幽灵注释**:代码变更时必须同步更新注释,删除废弃注释;输出前自校注释与代码一致性
## 注释标准
- **文件头**:复杂/核心模块顶部用 `/** ... */` 简述职责
- **类/接口**:描述领域模型职责,标注关键生命周期或状态流转
- **公共方法**:必须 JSDoc含功能简述、`@param`(含边界/可空说明)、`@returns`、可选 `@throws` / `@deprecated`
- **行内注释**:仅用于复杂正则、位运算、业务 Workaround`//` 后留空格,放在代码正上方
- **标记标签**(大写):`// TODO:` 未实现、`// FIXME:` 已知 Bug、`// HACK:` 妥协方案
## 输出要求
- 代码前指明使用了 oops-framework 哪个模块
- `oops` API 调用附带简明中文注释
- 检查所有监听是否在生命周期结束时注销