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 项目一旦进入中型规模,目录设计就不再是小事。

早一点用“功能聚合”的思路组织文件,后面会省掉很多无意义的找文件成本。