编码规范建议
1. 命名约定
-
类名:使用 PascalCase(大驼峰命名法),例如
PlayerController
。 -
方法名:同样使用 PascalCase,例如
CalculateDamage
。 -
变量名:
-
共有全局变量:PascalCase(大驼峰命名法)。
-
私有全局变量:
_pascalCase
(小驼峰命名法,前加_
)或mPascalCase
(大驼峰命名法,前加m
)。 -
私有局部变量:
pascalCase
(小驼峰命名法)。 -
常量:全大写字母,使用
_
分隔,例如MAX_SPEED
。
-
2. 代码组织
-
成员排序:按照访问权限排序,通常先
public
后private
。 -
使用区域(Regions):在类文件中分组相关的方法和变量,提高可读性,但不要过度使用。
3. 注释和文档
-
XML 注释:对公开接口、方法和复杂逻辑块使用 XML 注释,提供清晰的文档和使用指南。
-
详细注释:对于复杂算法和决策逻辑,写明步骤说明和原因。
4. 避免魔法数字
-
定义常量:对于多次使用的数值,定义为命名常量或配置参数,而不是直接使用字面量,提高代码可维护性。
5. 代码简洁性
-
单一职责:每个方法和类应只负责一件事。
-
UI 代码管理:
-
UI 界面使用代码自动生成工具,保持代码结构统一。
-
不使用 Unity 自带序列化功能,避免更改 Unity 版本或功能迁移时丢失引用。
-
6. 代码易读性
-
格式规范:
-
运算符两侧应有空格,例如
a + b
而不是a+b
。 -
方法之间应有一个空行。
-
不同逻辑段之间使用空行分隔,提高可读性。
-
-
文件头注释:
-
每个文件应包含文件头注释,说明文件作用、作者、日期等。
-
复杂逻辑段落应有注释,解释代码的目的和思路。
-
资源命名和文件夹结构规范建议
1. 文件夹结构
-
按照资源类型和用途组织:
-
Assets/Scripts
-
Assets/Materials
-
Assets/Prefabs
-
-
按功能模块划分子文件夹:
-
例如
Assets/Scripts/Player
-
例如
Assets/Scripts/Enemies
-
2. 资源命名
-
清晰、描述性命名:
-
避免使用
Button
,改为StartGameButton
。
-
-
类型前缀:
-
纹理、模型文件等可加前缀,如
Tex_
、Model_
、Anim_
。
-
3. 场景和预制体
-
场景文件命名:
-
根据游戏阶段或区域命名,如
MainMenu
、Level01
。
-
-
预制体:
-
使用描述性名称,并存放于
Assets/Prefabs
相应子文件夹,例如Assets/Prefabs/Items
。
-
4. 脚本和代码文件
-
脚本文件名与类名一致,遵循 PascalCase 命名法。
5. 材质、纹理和动画
-
类型前缀 + 描述性名称:
-
材质:
Mat_Gold
-
纹理:
Tex_SkyboxClouds
-
动画:
Anim_PlayerRun
-