2.5 KiB
2.5 KiB
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中注销
代码注释规范
核心原则
- Clean Code 优先:命名糟糕则重构命名,而非堆注释
- Why > What:注释解释"为什么",禁止废话注释(如
// 遍历数组) - JSDoc / TSDoc 标准格式,注释使用中文,专业术语保留英文
- 拒绝幽灵注释:代码变更时必须同步更新注释,删除废弃注释;输出前自校注释与代码一致性
注释标准
- 文件头:复杂/核心模块顶部用
/** ... */简述职责 - 类/接口:描述领域模型职责,标注关键生命周期或状态流转
- 公共方法:必须 JSDoc,含功能简述、
@param(含边界/可空说明)、@returns、可选@throws/@deprecated - 行内注释:仅用于复杂正则、位运算、业务 Workaround;
//后留空格,放在代码正上方 - 标记标签(大写):
// TODO:未实现、// FIXME:已知 Bug、// HACK:妥协方案
输出要求
- 代码前指明使用了 oops-framework 哪个模块
oopsAPI 调用附带简明中文注释- 检查所有监听是否在生命周期结束时注销