SuperAPI AI 工具集

theone-unity-standards

编程与开发

查看项目

更新于 10-16 02:25

技能介绍

用途

本技能用于在 Unity 项目开发中强制执行 TheOne Studio 的 Unity 开发标准,覆盖 C# 编码模式、Unity 架构(VContainer/SignalBus 与 TheOne.DI/Publisher)以及代码审查。它适用于编写或重构 Unity C# 代码、使用依赖注入实现功能、处理事件与信号、访问或修改游戏数据、审查代码变更或拉取请求,以及搭建项目架构等场景。

所有模式与示例兼容 Unity 6(使用 C# 9),不使用 C# 10+ 特性。

主要能力

技能按四个优先级组织规则:

优先级 1:代码质量与卫生(最重要)

  • 启用可空引用类型,不允许可空警告
  • 使用最小可访问性修饰符(默认 private)
  • 修复所有警告,对编译器警告零容忍
  • 错误必须抛出异常,绝不记录错误日志
  • 运行时使用 TheOne.Logging.ILogger:无条件守卫(#if)、无前缀([prefix])、绝不在构造函数中记录日志;Debug.Log 仅用于编辑器脚本
  • 字段使用 readonly,常量使用 const
  • 使用 nameof 而非硬编码字符串
  • using 指令置于最深作用域(尽可能方法级)
  • 禁止行内注释,使用描述性命名

优先级 2:现代 C# 模式

  • 用 LINQ 替代循环、扩展方法、表达式体成员
  • 空合并运算符、模式匹配
  • 现代 C# 特性(records、init、with)

优先级 3:Unity 架构

  • 每个项目二选一:VContainer + SignalBus,或 TheOne.DI + Publisher/Subscriber
  • VContainer 方案:构造函数加 [Preserve] 特性
  • TheOne.DI 方案:构造函数加 [Inject] 特性
  • 数据控制器模式:绝不直接访问数据
  • 资源管理、UniTask 异步模式
  • 服务/桥接/适配器集成模式

优先级 4:性能与审查

  • LINQ 优化、避免分配
  • 架构审查(DI、事件、控制器)
  • C# 质量审查(LINQ、空值处理)
  • Unity 专项审查(组件、生命周期)
  • 性能审查(分配、热路径)

使用方式

技能通过快速参考指南按优先级导航到具体模式。触发时机包括:编写或重构 Unity C# 代码、使用依赖注入实现 Unity 功能、处理事件与信号、访问或修改游戏数据、审查代码变更或拉取请求、搭建项目架构。

代码审查清单按严重程度分级:

  • 严重(必须修复):未修复可空警告、记录错误而非抛异常、运行时使用 Debug.Log、日志条件守卫、手动日志前缀、构造函数中记录日志、logger 使用空条件调用、缺少访问修饰符、忽略编译警告、行内注释、使用 Zenject 而非 VContainer、使用 MessagePipe 而非 SignalBus、直接访问数据、内存泄漏(未取消订阅)、缺少 IDisposable 实现
  • 重要(应当修复):缺少 readonly/const、硬编码字符串、using 指令未置于最深作用域、冗余日志、冗长代码未用 LINQ、缺少 [Preserve] 或 [Inject]、热路径性能问题、业务逻辑缺少单元测试、公共 API 缺少 XML 文档
  • 建议(可选):表达式体、空条件、模式匹配、命名改进、现代 C# 特性简化

适用场景

适用于采用 TheOne Studio 技术栈的 Unity 6 项目,尤其是需要统一代码质量、依赖注入架构、事件系统与数据访问规范的团队开发与代码审查流程。

限制

技能明确要求不使用 C# 10+ 特性,仅兼容 Unity 6(C# 9)。架构上强制二选一框架栈,禁止使用 Zenject 与 MessagePipe,禁止直接访问数据模型。关于该技能的具体安装方式、收费模式、平台支持范围等,资料中暂未提供。