下载 App

耦合性 V3

07/12综合
当前耦合性已经从“中低耦合”进一步改善到:
低到中低耦合;核心玩法聚合直连基本消除,剩余主要是状态 Facade 和数据 Store 的中心化耦合。

量化结果

只读扫描 scripts/
text
Lua 文件数:175 内部 require 边数:534 循环依赖数:0
关键聚合模块入度:
text
Pages.纸上障碍 incoming = 0 Pages.怪物工坊.战斗机制 incoming = 0 Pages.纸上战斗 incoming = 0 Pages.纸上关卡 incoming = 0 Pages.纸上建家 incoming = 0 Pages.怪物工坊 incoming = 0
这说明前两轮解耦是有效的:业务代码已经不再直接依赖这些“大聚合模块”。

当前做得好的部分

1. 大聚合模块直连已清零

当前这些模块不再作为业务依赖中心:
  • Pages.纸上障碍
  • Pages.怪物工坊.战斗机制
  • Pages.纸上战斗
  • Pages.纸上关卡
  • Pages.纸上建家
  • Pages.怪物工坊
尤其是刚处理完的两个热点:
text
Pages.纸上障碍 incoming = 0 Pages.怪物工坊.战斗机制 incoming = 0
现在调用侧已经转向更细模块,例如:
  • Pages.纸上障碍域.地形几何
  • Pages.纸上障碍域.生成器
  • Pages.纸上障碍域.命中处理
  • Pages.纸上障碍域.绘制
  • Pages.怪物工坊.战斗机制域.炮塔机制
  • Pages.怪物工坊.战斗机制域.地雷机制
  • Pages.怪物工坊.战斗机制域.墙体机制
  • Pages.怪物工坊.战斗机制域.命中机制
  • Pages.怪物工坊.战斗机制域.玩家机制
  • Pages.怪物工坊.战斗机制域.挑战状态
  • Pages.怪物工坊.战斗音频

2. 循环依赖为 0

text
cycle_count = 0
这是很重要的结构健康指标。说明当前拆分虽然更细,但没有制造模块环。

3. 战斗机制已变成“域模块接线”结构

Pages.怪物工坊.战斗机制 不再被业务侧直接引用。
现在实际业务依赖集中在这些更小职责模块上:
text
Pages.怪物工坊.战斗音频 incoming = 9 Pages.怪物工坊.战斗机制域.炮塔机制 incoming = 6 Pages.怪物工坊.战斗机制域.玩家机制 incoming = 5 Pages.怪物工坊.战斗机制域.挑战状态 incoming = 4 Pages.怪物工坊.战斗机制域.地雷机制 incoming = 4 Pages.怪物工坊.战斗机制域.命中机制 incoming = 4
这比以前所有逻辑都打到 战斗机制 一个模块健康很多。

当前主要耦合热点

热点 1:状态 Facade 入度仍然最高

入度最高模块:
text
Pages.纸上状态域.战斗 39 Pages.纸上状态域.家园 28 Pages.纸上状态域.进度 26 Pages.纸上状态域.背包 15 Pages.纸上状态域.界面 14
其中规模:
text
Pages/纸上状态域/战斗.lua: 351 行,70 个函数 Pages/纸上状态域/家园.lua: 257 行,52 个函数 Pages/纸上状态域/进度.lua: 143 行,29 个函数
这类耦合目前是可接受的中心化状态 Facade 耦合,不是危险耦合。
战斗.lua 已经明显偏大:
text
战斗状态 Facade:351 行 / 70 函数 / 入度 39
它有成为新“大状态服务”的趋势。
建议后续优先观察或拆分:
  • Pages.纸上状态域.战斗
  • 兵体状态
  • 敌人集合
  • 弹体集合
  • 拾取/粒子/爆炸集合
  • 战斗资源与行动点
  • Pages.纸上状态域.家园
  • 安全屋状态
  • 公开安全屋状态
  • 家园对象状态
  • 工作台状态
  • Pages.纸上状态域.进度
  • 页数进度
  • 清场阶段
  • 休整阶段
优先级:中高,但不建议一次性大拆。先从 战斗.lua 内部最独立的集合状态开始。

热点 2:Data.Store 仍是非玩法侧中心 Store

text
Data.Store incoming = 18
直接依赖包括:
  • App.帧更新
  • App.登录流程
  • App.纸上投资评分服务
  • Data.数据迁移
  • Pages.分析.*
  • Pages.持仓.*
  • Pages.记录.*
  • Pages.设置
  • Pages.怪物工坊.插件域.加载会话
这个热点主要在投资/持仓/记录应用侧,不是当前纸上战斗主循环最大的风险。
当前可接受,但如果后续继续优化主应用架构,可以按领域服务拆:
  • App.账户服务
  • App.持仓服务
  • App.记录服务
  • App.分析服务
  • App.设置服务
  • App.云同步服务
优先级:中低,除非要继续优化非游戏投资系统。

热点 3:Pages.纸上流程 仍是流程协调中心

text
Pages.纸上流程 incoming = 7
调用来源:
  • Pages.纸上建家域.页面流程
  • Pages.纸上关卡域.公开失败休整
  • Pages.纸上背包
  • Pages.纸上关卡域.休整视图
  • Pages.纸上翻页
  • Pages.纸上排行
  • Pages.怪物工坊.入口域.导航绑定
Pages.纸上流程.lua 规模不大:
text
55 行,9 个函数
目前更像轻量流程门面,风险不高。
如果未来继续膨胀,可以改成命令注册器或事件式导航,但现在不急。
优先级:中低

热点 4:新的细域模块入度上升,但属于正常现象

例如:
text
Pages.纸上障碍域.地形几何 incoming = 8 Pages.纸上障碍域.生成器 incoming = 6 Pages.怪物工坊.战斗机制域.炮塔机制 incoming = 6 Pages.怪物工坊.战斗音频 incoming = 9
这些是聚合解耦后的自然结果。
目前它们职责明确,比之前依赖大聚合模块好。
需要注意的是:
text
Pages/纸上障碍域/地形几何.lua: 430 行,29 函数 Pages/怪物工坊/战斗机制域/炮塔机制.lua: 305 行,7 函数
地形几何.lua 行数偏高,但它是算法/几何集中模块,问题不严重。
如果后续继续加地形类型,可以再拆:
  • 河流桥梁几何
  • 坑洞几何
  • 废墟墙体几何
  • 实体避障
优先级:

当前总体评价

架构状态

text
大聚合直连耦合:低 循环依赖风险:低 玩法域职责边界:较清晰 状态 Facade 耦合:中 数据 Store 耦合:中 流程协调耦合:中低

综合评分

如果 10 分表示“低耦合、边界清晰、可持续演进”:
text
当前:8.1 / 10 上一轮:7.5 / 10 优化前估计:4.5 ~ 5 / 10
主要加分点:
  1. Pages.纸上障碍 入度降为 0。
  2. Pages.怪物工坊.战斗机制 入度降为 0。
  3. 大聚合模块直连基本全部清零。
  4. 循环依赖仍为 0。
  5. 战斗主循环现在依赖更细的机制域模块。
主要扣分点:
  1. Pages.纸上状态域.战斗 入度 39,且 351 行 / 70 函数,已经偏大。
  2. Pages.纸上状态域.家园 入度 28,后续可能继续变胖。
  3. Data.Store 仍是应用数据中心热点。
  4. Pages.纸上障碍域.地形几何 430 行,未来新增地形时可能继续膨胀。
【求积分】
因为没有积分继续完善框架,目前测试连接进入游戏界面,可能需要如下操作:
1、先随意输入用户名,默认密码123点击“进入系统”
2、稍等一会儿,会读取到当前用户ID的用户名,默认密码123就可以进入了
3、进入游戏修改密码,下次默认密码就不是123了
如果大家都能帮忙来体验,可能这个便签墙上会有越来越多的便签,需要玩家来丰富便签墙截图
【求积分】 因为没有积分继续完善框架,目前测试连接进入游戏界面,可能需要如下操作: 1、先随意输入用户名,默认密码123点击“进入系统” 2、稍等一会儿,会读取到当前用户ID的用户名,默认密码123就可以进入了 3、进入游戏修改密码,下次默认密码就不是123了 如果大家都能帮忙来体验,可能这个便签墙上会有越来越多的便签,需要玩家来丰富便签墙
3 赞
7 回复
耦合性 V2
目前耦合性已经从“偏高”降到了 中等偏低、可控。 简单评价: 大问题已经收口,剩下的是结构继续细分的问题。 当前不会再出现明显的全局入口乱写、页面直接抢 UI Root、Network 回调污染全局这类高风险耦合。但 State、App 启动层、投资数据页面仍有进一步拆分空间。 已明显改善的部分 1. 全局 UI Root 已收口 现在 UI.SetRoot 只剩一处: scripts/App/R
官方
4 赞
耦合性 V5
结论:主游戏业务耦合优化已经基本完成,可以收尾。 不是说项目里完全没有高入度/高出度模块,而是: 主要业务热点已经拆完 原 API 都保持兼容 每批拆分都通过了 LSP 每批拆分都通过了官方构建 每批局部依赖检查都没有循环 当前项目仍然构建成功 当前 Lua LSP errors = 0 当前验证状态 刚刚重新确认: Lua LSP errors = 0 官方构建成功 当前 Lua 文件数 = 4
官方
3 赞
耦合性 V4
当前游戏耦合性评估 结论:低到中低耦合。 经过多轮拆分后,原来的高入度 Facade / shim 基本已经清空业务依赖,当前主要热点已经转为“细粒度状态模块”和“流程编排模块”,结构比最初健康很多。 1. 当前核心指标 Lua 文件数: 200 内部 require 边数: 615 外部 require 引用: 79 平均内部出度: 3.08 循环节点: 0 关键结论: 循环依赖: 0 这是最重
官方
4 赞
耦合 V1
已分析当前 scripts/ 用户代码,未修改文件。整体看,项目是一个 main.lua 主入口 + 投资页面模块 + 纸上谈兵插件模块 + 网络/数据代理模块 的结构,耦合点比较集中。 1. 主入口如何耦合其他模块 主入口是: scripts/main.lua 它分服务端和客户端两条启动路径。 服务端路径 main.lua 先判断服务端模式: scripts/main.lua:7:判断 IsSe
官方
4 赞
01:32
【号外:新游】《小韭成长记》截图
【号外:新游】《小韭成长记》
《小韭成长记》是一款“投资记录 + 游戏化成长”的复合型小游戏: 投资端:记录股票、资金流水、账户管理等投资行为,生成多维度分析(组合估值、融资成本、指数对比等)。 游戏特色:你可以给后面来踢馆的玩家制造麻烦! 游戏端:通过“纸上谈兵”将投资数据转化为游戏战力(核心、甲片、行动点等),支持造兵、闯关、建设安全屋,让投资成果可视化、趣味化。 股票操作:支持「买入/卖出/分红/融资借入/还款」,自
【申请积分】刚把架构搭建了一些,希望能申请一些积分把游戏跑通截图
【申请积分】刚把架构搭建了一些,希望能申请一些积分把游戏跑通
4 赞
3 回复