JUSTDOIT游戏开发团队代码规范(GDScript版)
目录
- 一、项目结构与文件命名
- 二、GDScript 编码风格
- 三、脚本编写规范
- 四、代码审查与测试
- 五、其他注意事项
一、项目结构与文件命名
项目文件夹组织
assets/
:存放所有游戏资源,如图片、音频、字体等。scennes/
:存放游戏场景文件(.tscn
)。scripts/
:存放游戏脚本文件(.gd
)。libs/
:如有则存放第三方库或自定义模块。docs/
:如有则存放项目文档,如设计文档、用户手册等。
文件命名
- 场景文件:使用PascalCase命名,或者中文直接命名,例如
MainMenuScene.tscn
、GamePlayLevel.tscn
、白塔二层.tscn
。 - 脚本文件:与节点名称一致,使用PascalCase或中文命名,例如
Player.gd
、敌人.gd
。
二、GDScript 编码风格
命名规范
- 类(节点)名称:使用PascalCase,例如
Player
、EnemySpawner
。 - 变量和函数名称:使用snake_case,例如
_speed
、move_to_position()
。 - 常量名称:使用全大写字母和下划线分隔,例如
MAX_HEALTH
、INITIAL_SCORE
。
缩进与空格
- 直接使用Tab键,方便编写代码,每次开始函数体都需要在函数定义下一行使用Tab键进行缩进,使用空格会导致错误。
- 在操作符两侧、逗号后、分号前等位置添加空格,以提高代码可读性。
注释
- 使用中文或英文进行注释,注释应简洁明了,能够准确描述代码的功能和目的。
- 对于复杂的逻辑,应添加详细的注释和说明。
代码组织
- 将相关功能封装在函数中,避免在
_ready()
或_process(delta)
中编写过多的代码。每个函数尽量简单,功能明确。
三、脚本编写规范
节点与场景管理
- 在场景中,使用节点树结构组织游戏对象,避免在脚本中直接创建和删除节点(除非有特殊需求)。
- 使用信号(Signals)进行节点间的通信,少用使用全局变量或单例模式。
资源管理
- 使用
preload()
函数预加载资源,以提高游戏性能。 - 对于频繁使用的资源,考虑使用资源池进行管理。
错误处理
- 在代码中添加适当的错误处理逻辑,例如使用
assert()
语句进行断言检查。 - 对于可能失败的操作,应提前进行条件判断,避免程序崩溃或异常退出。
性能优化
- 避免在每帧处理中执行复杂的计算或操作,应将这些操作放在
_physics_process(delta)
或其他合适的时机进行处理。 - 使用节点重用技术,减少节点的创建和销毁次数。
四、代码审查与测试
代码审查
- 团队成员应定期对彼此的代码进行审查,确保代码质量符合规范。
- 在代码审查中,应重点关注代码的可读性、可维护性、性能等方面。
测试
- 编写单元测试或集成测试,对游戏功能进行验证和测试。
- 在测试过程中,应重点关注游戏的稳定性、兼容性、性能等方面。
五、其他注意事项
版本控制
- 使用Git等版本控制工具对代码进行版本管理,确保团队成员之间的代码同步和协作。
文档编写
- 编写项目文档,包括设计文档、API文档、用户手册等,方便团队成员和其他人员了解项目结构和功能。
代码备份
- 定期对代码进行备份,防止因意外情况导致代码丢失或损坏。
© JUST DO IT