当前位置: 首页 > news >正文

Unity项目基本风格/规范

本文由 NRatel 历史笔记整理而来,如有错误欢迎指正。

一、代码风格规范

1、原则:主要以Unity 官方源码为准。(实际上,它内部似乎也不完全统一)。

        Unity 源码(C# 部分):https://github.com/Unity-Technologies/UnityCsReference

        UGUI 源码:https://github.com/Unity-Technologies/uGUI

2、个人风格应统一

        不应/应少出现都是自己手写的,但多处不一样的风格

3、代码折叠后,应清晰整洁(重要!!!)(为了对外友好)(因为对接时大多无需关心具体实现)

        1、类、字段和方法命名应精准

                不怕长,只怕不精准

                特别注意高频词汇,应加限定

        2、字段统一都带公私有标识

        3、段落有间距

二、代码严格性相关

1、严格/非严格权衡

        开发环境下为严格模式,多断言,不容错

        线上环境,应已基于充分测试,分情况重要的不容错,不重要的可容错(只容极小概率事件)

        原则为:暴露错误并解决

2、枚举Switch

        枚举 switch 必须跟 default

        对于可能扩展的枚举 thorw NotImplementedException()

        对于不再扩展的枚举 thorw NotSupportedException()

3、错误码处理

        已知错误能处理尽处理

三、界面功能任务自检

1、拼界面完成(与效果图差异小)

        应以效果图为衬底,仔细对比元素大小、位置、旋转、缩放、文本字号、颜色等。保证几乎无差异

        注意有一些例外,一些 等距排列、居中放置(注意阴影、修饰等偏移)等情况,以计算数值为准,不必和效果图对齐

        检查:将效果图按设计尺寸放在Panel内最顶层,调整透明度观察

2、客户端数据模块和界面功能正确(单机状态正确)(含边界条件)

3、前后端联调结束(含边界条件)

4、特效动画添加完整

5、红点添加完成

6、多语言处理完成(含:文字、图、预设组件、特效等)

7、适配处理完成(3种分辨率:设计+长屏+宽屏)

四、美术命名规范

        和UI美术制定交付资源的命名规范

        并在Unity内导入检查(只包含字母数字下划线)

        或利用程序,按一定规则,将中文改名为英文名后,导入Unity(但可能有一些衍生问题)

五、注意MVC各部分职责

        V 界面逻辑

                可直接读 M,可调 C

        M 数据逻辑{模块名}Model

                不可读写调用 V 和 C

        C 控制逻辑({模块名}Ctrl)

                可直接读写 M 和 V

项目放置建议

        ${公司}/${Group}/${Project}

        如:
Kunlun/ProjectA/ProjectA
Kunlun/ProjectA/LevelEditor

                Kunlun/ProjectB/ProjectB
Kunlun/ProjectB/LevelEditor

http://www.dtcms.com/a/360813.html

相关文章:

  • 三、SVN实践练习指南
  • 【项目思维】贪吃蛇(嵌入式进阶方向)
  • 函数、数组与 grep + 正则表达式的 Linux Shell 编程进阶指南
  • GPU 通用手册:裸机、Docker、K8s 环境实战宝典
  • 嵌入式碎片知识总结(二)
  • Shell编程(二):正则表达式
  • 至真科技西安分公司正式成立,赋能点金石业务增长新篇章!
  • 基于Spring Authorization Server的OAuth2与OpenID Connect统一认证授权框架深度解析
  • Linux -- 进程间通信【System V共享内存】
  • 基于llama.cpp在CPU环境部署Qwen3
  • JimuReport 积木报表 v2.1.3 版本发布,免费开源的可视化报表和大屏
  • 【Linux手册】Unix/Linux 信号:原理、触发与响应机制实战
  • 开源 C# .net mvc 开发(九)websocket--服务器与客户端的实时通信
  • Unity:XML笔记
  • 【基础】Three.js中如何添加阴影(附案例代码)
  • 基于SpringBoot的运动服装销售系统【2026最新】
  • 大型语言模型微调 内容预告(69)
  • 剧本杀小程序系统开发:重塑社交娱乐新生态
  • Trae x MCP:一键打造品牌专属高质量SVG封面
  • apipost 8.x 脚本循环调用接口
  • 9月1日
  • WhatsApp 漏洞与 Apple 零日漏洞一起被利用于间谍软件攻击
  • LangChain VectorStores核心:多向量数据库统一交互层与RAG存储中枢
  • 深度学习——速问速答
  • Java视觉跟踪入门:使用OpenCV实现实时对象追踪
  • Vue2存量项目国际化改造踩坑
  • pyside6小项目:进制转换器
  • 《架构师手记:SpringCloud整合Nacos实战·一》
  • 2.MySQL库的操作
  • Spark实现推荐系统中的相似度算法