code-guard-review-cn
代码修改与审查守卫
在代码变更的全生命周期(规划 → 编写 → 审查)中,守住结构质量底线。
规则与语言无关;语言专项知识按需从 references/ 加载。
质量规则
所有规则适用于任何编程语言。背后的理由:小而专注的代码单元更容易阅读、测试和维护,出错时影响面也更小。
| # | 规则 | 限制 | 原因 |
|---|---|---|---|
| R0 | 零编译错误 | 变更后必须编译/构建通过,零错误零警告 | 有报错的代码无法运行,其他审查项无意义 |
| R1 | 单一职责 | 每个类/函数只承担一项职责 | 职责混合导致改一处牵动多处 |
| R2 | 文件体量 | ≤ 500 行(推荐 ≤ 300) | 超长文件增加认知负担,难以定位 |
| R3 | 嵌套深度 | 单函数逻辑嵌套 ≤ 3 层 | 深嵌套难以跟踪分支,用 guard clause / 提取子函数解决 |
| R4 | 参数数量 | 单函数参数 ≤ 5 个 | 参数过多暗示职责过重,考虑用参数对象或拆分 |
| R5 | 类型安全 | 使用语言提供的最严格类型;禁用类型逃逸 | TS any、C# dynamic、Java raw type 等会绕过编译检查 |
| R6 | 类型/泛型体量 | 类型定义嵌套 ≤ 4 层 | 超深类型比它保护的代码还难读,应拆为中间别名 |
| R7 | DRY | 相似逻辑/类型定义不重复 | 重复导致修改遗漏 |
More from zpqq132555/skills
cocos-creator-3x-cn
提供 Cocos Creator 3.8 游戏引擎的全面开发指导,包括组件系统(_decorator、Component)、生命周期回调、事件系统(EventTarget、input)、resources 资源管理、tween 缓动系统、对象池、UI 系统、物理碰撞以及可试玩广告优化。在用户编写或重构 Cocos Creator 3.x TypeScript 代码、实现游戏功能、处理资源加载与释放、优化性能/包体大小、审查代码变更、搭建可试玩广告项目架构时触发。也适用于用户提到 import from 'cc'、Component、Node、resources、tween、director 等 3.x API 时使用。
230skill-creator-cn
创建新技能、修改和改进现有技能、衡量技能性能。当用户希望从零开始创建技能、更新或优化现有技能、运行评估测试技能、通过方差分析进行性能基准测试、或优化技能描述以提升触发准确性时使用此技能。
9cocos-creator-2x-cn
提供 Cocos Creator 2.4 游戏引擎的全面开发指导,包括组件系统(cc.Class、cc._decorator)、生命周期回调、事件系统、Asset Manager 资源管理、缓动/动作系统、对象池、UI 系统、物理碰撞以及可试玩广告优化。在用户编写或重构 Cocos Creator 2.x TypeScript/JavaScript 代码、实现游戏功能、处理资源加载与释放、优化性能/包体大小、审查代码变更、搭建可试玩广告项目架构时触发。也适用于用户提到 cc.Class、cc.Component、cc.Node、cc.resources、cc.assetManager、cc.tween 等 2.x API 时使用。
6find-skills-cn
帮助用户在提出诸如“如何做 X”、“寻找处理 X 的技能”、“是否有能够……的技能”之类的问题,或者表达出想要扩展功能的意愿时,发现并安装相应的代理技能。当用户正在寻找可能以可安装技能形式存在的功能时,应使用此技能。
4layaair-3x-cn
提供 LayaAir 3.x 游戏引擎的全面开发指导,包括 ECS 组件系统(@regClass/@property 装饰器、Script 生命周期)、事件系统(EventDispatcher、鼠标/键盘/物理事件)、Promise 异步资源加载(Laya.loader.load)、全新 Tween 缓动系统(chain/parallel)、Timer 定时器、对象池(Laya.Pool)、2D/3D 显示对象、UI 组件系统、场景管理(Scene.open/close)、2D/3D 物理系统、屏幕适配及性能优化。当用户编写或重构 LayaAir 3.x TypeScript 代码、实现脚本组件、处理事件监听、资源加载、缓动动画、性能优化及可试玩广告项目时触发。也适用于提到 @regClass、@property、Laya.Script、Laya.loader.load(Promise)、Laya.Tween.create、Laya.Scene.open、Laya.Pool、Sprite3D、Camera 等 LayaAir 3.x API 时使用。即使用户只是提到 LayaAir、Laya 引擎或 .ls 场景文件也应触发此技能。
3unity-2022-cn
提供 Unity 2022.3 LTS 游戏引擎的全面开发指导,包括 MonoBehaviour 生命周期、GameObject/Component 组件系统、Transform 变换、物理碰撞(Rigidbody/Collider)、输入系统(Input Manager/Input System)、UI 系统(uGUI/UI Toolkit)、资源管理(Resources/Addressables/AssetBundle)、协程、动画系统(Animator/Animation)、ScriptableObject、事件系统(UnityEvent/C# Event/Action)、对象池、场景管理以及性能优化。在用户编写或重构 Unity 2022.x C# 代码、实现游戏功能、处理资源加载与释放、优化性能、审查代码变更、搭建 Unity 项目架构时触发。也适用于用户提到 MonoBehaviour、GameObject、Transform、Rigidbody、Collider、Canvas、SerializeField、Instantiate、Destroy、SceneManager、Addressables 等 Unity API 时使用。
3