Files
CursorInitGeneral/.cursor/rules/project/godot-gdscript-style.mdc

36 lines
1.8 KiB
Plaintext
Raw Permalink 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.
---
description: 通用 GDScript 文件结构、命名、类型、注释与错误处理规范
globs: "**/*.gd"
alwaysApply: false
---
# GDScript 风格
## 文件结构
按 Godot 风格保持稳定顺序:`@tool`(如需)→ `class_name`(如需)→ `extends` → 文档注释 → signals → enums → constants → exports → public members → private members → lifecycle → public methods → private methods。
- 可复用类型使用 `class_name`;仅由 autoload 注册的脚本避免重复声明同名全局类。
- 缩进使用 Tab单个文件内不得混用 Tab 与空格。
- 一个脚本聚焦一个主要职责;脚本持续膨胀时按状态、数据访问或表现职责拆分。
## 命名
- 文件、变量、函数、参数和信号使用 `snake_case`。
- 类名使用 `PascalCase`,常量使用 `UPPER_SNAKE_CASE`。
- 私有成员和私有方法使用 `_` 前缀;参数与成员冲突时使用 `p_` 前缀。
- 信号名称表达已经发生的事件,如 `entity_selected`,避免含糊的 `changed`。
## 类型与接口
- 函数参数和返回值显式标注类型;局部变量优先 `:=` 推断,容器尽量声明元素类型。
- 跨系统边界避免无结构的 `Dictionary`可复用数据优先使用具名类型、Resource 或明确 schema。
- 可空值、失败返回和副作用必须从签名、名称或文档中可见。
- 只对已理解且范围最小的问题使用 `@warning_ignore`,不全局压制告警。
## 注释与诊断
- `##` 用于公开类型、属性和方法的文档;普通注释解释原因与约束,不复述代码。
- 日志和警告包含稳定的模块或类标签以及关键上下文。
- 可恢复的外部数据问题用明确错误信息处理;真正的内部不变量可用 `assert`,不要用断言处理正常用户输入。