Cocos 项目越写越乱,我按三条线收拾
工程乱到一定程度,症状不是报错,是我不敢改:一个颜色改了,另一个界面跟着变;想删一个脚本,得先搜哪些场景引用了它。Cocos 项目越写越乱怎么办,我后来的做法是按三条线分开收拾,而不是整体重构一遍。
一、真实结论:乱在「引用关系」不在文件多少
我那个涂色模板总共没多少文件,依然乱。
原因是我早期把「谁引用了谁」完全交给编辑器,场景里拖了一堆引用,脚本里又硬编码了一堆路径。文件少但关系密,照样改不动。
三条线分别管:资源从哪来、逻辑归谁、界面怎么搭。分清楚以后,改动开始有确定的影响范围。
二、那条时间线
项目最开始只有一个场景,随便放都行。
加第二个场景的时候我没有建目录,直接把新资源丢在同一个文件夹里。到第三天做配置界面时,我已经分不清哪张图属于哪一关。
真正让我下决心收拾的,是我想复用第一关的一部分到第三关,结果发现它们缠在一起,拆不出来。那天我停了半天没写新功能。
三、第一条线:资源按「什么时候用」分
不按类型分,按使用时机分。首屏用的、某一关用的、全局共用的,各放各的。
这样分的好处是,包体那块要砍谁一眼就看出来。我后来打包时能很快定位冗余资源,靠的就是这条线。
具体动作:把资源目录按首屏 / 关卡 / 公用三层重排一次,重排期间不要顺手改功能。
四、第二条线:逻辑按「谁能改它」分
一个脚本只允许一类人去改它。界面的归界面,数据的归数据,中间那层专门负责转换。
这条线最容易破。急着加功能的时候,人会把数据处理的代码写进界面脚本里,然后这个脚本就再也拆不开了。
判断方法很土但有效:如果一个脚本改起来你总是要担心影响别处,它就跨线了。
五、第三条线:界面按「可不可以单独打开」分
每个界面应该能单独跑起来看,不依赖前面走过什么流程。
做不到这一点,说明界面和数据绑太死。我后来给每个界面做了一个直接进入的入口,调试成本降了不少。
六、Cocos 项目越写越乱怎么办,做对和做错都在这
做对的是我没有选择推倒重来。推倒重来的代价被低估了,尤其是项目已经能跑的时候。
做错的是收拾得太晚。第一次发现两张图分不清归属时就该动手,而不是等到拆不出来。
另外我也做错了一件事:收拾过程中顺手改了功能。结果那次改动出了问题,我分不清是整理引入的还是新功能引入的。
这套分法能不能复制?能。它不需要项目有多大,也不需要换引擎。
唯一的门槛是你要停下手上的新功能,专门花一段时间整理。这段时间不会立刻产生可见成果,所以最难下决心。
我给自己的规则是:一旦出现「不敢改」的感觉,就停下来做一轮。别等它变成「改不动」。
常见问题
Q:Cocos 项目越写越乱,需要整个重构吗?
A:大多数时候不需要。先按资源、逻辑、界面三条线把目录和引用关系理顺,比推倒重来便宜得多。
Q:整理期间要不要继续开发新功能?
A:建议不要同时做。混在一起出问题时,你分不清是整理引入的还是新功能引入的。
Q:小项目也要这么分吗?
A:要,但可以更粗。三条线分清楚就行,不用把目录做得像大公司那样深。
相关阅读
- 一个人用 Cocos 做小游戏,时间都花在哪
- Cocos Creator 新手先学什么,六个要点
- Cocos Creator 2.x 和 3.x 的区别,选哪个
- Cocos Creator 热更新流程,五步走完
本文作者西米,37 岁程序员,一个人加五个 AI 员工在跑一家公司。踩过的坑和真实账本都写在公众号「西米分享」。
完整代码、踩坑清单与最新进展,都在公众号。
📱 关注公众号「西米分享」