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

2.5 KiB
Raw Blame History

alwaysApply
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 调用附带简明中文注释
  • 检查所有监听是否在生命周期结束时注销