Godot 项目文件组织原则
相关概念:godot
Godot 项目文件组织的关键,不是目录名字漂不漂亮,而是能不能让一个功能的资源、场景和脚本尽量靠近。
原则
一个功能,一个目录。
例如 player 相关的内容,尽量放在一起:
player/
├── player.tscn
├── player.gd
├── player.png
└── player.anim这样做的好处是:
- 找文件时不用在多个目录之间来回跳
- 功能迁移和重构更容易
- 新人接手时能更快看懂边界
骨架
project/
├── assets/
│ ├── images/
│ ├── audio/
│ ├── fonts/
│ └── shaders/
├── scenes/
├── scripts/
├── resources/
└── addons/如果项目还不大,这种骨架足够清晰。
什么时候按功能聚合,什么时候按类型拆分
这两种组织方式都能用,默认更适合优先按功能聚合。
因为像下面这种纯按类型拆分的方式:
scenes/
scripts/
textures/
animations/在项目变大后,经常会让目录结构变成“知道资源存在,但不知道它属于哪个功能”。
理解
目录结构本质上是在回答两个问题:
- 这个文件属于哪个功能
- 这个功能的边界放在哪里
所以项目结构的目标不是绝对统一,而是让边界稳定、检索成本低。
结论
Godot 项目一旦进入中型规模,目录设计就不再是小事。
早一点用“功能聚合”的思路组织文件,后面会省掉很多无意义的找文件成本。