当前位置: 首页 > 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.xdnf.cn/news/1422991.html

相关文章:

  • Linux上perf工具的使用-基础采样
  • 命名空间级别应用 Pod 安全标准
  • 从组分到涌现:系统科学视域下结构、功能与层级的辨析及在人工智能中的应用
  • 安全等保复习笔记
  • 大模型 RAG 项目必看:技术架构拆解 + 实战步骤,新手也能快速上手
  • 内存管理 - 从虚拟到物理
  • Java全栈工程师面试实战:从基础到微服务的深度解析
  • CentOS10安装RabbitMQ
  • Spring Bean 生命周期中的 @PostConstruct 注解
  • NestJS 3 分钟搭好 MySQL + MongoDB,CRUD 复制粘贴直接运行
  • 【C++进阶篇】学习C++就看这篇--->多态超详解
  • 传统web项目,vue开发实践篇01
  • 微服务Docker-compose之若依部署
  • 视频提取文字用什么软件好?分享6款免费的视频转文字软件!
  • apipost 8.x 脚本循环调用接口
  • 云手机为什么会受到广泛关注?
  • 单链表的基本原理与实现
  • 深入掌握 Flask 配置管理:从基础到高级实战
  • uniapp使用uview UI,自定义级联选择组件
  • 六、练习3:Gitee平台操作
  • RSA的CTF题目环境和做题复现第1集
  • shell——函数与数组
  • 华东制造企业推荐的SD-WAN服务商排名
  • java中常见的几种排序算法
  • 毕业设计:丹麦电力电价预测预测未来24小时的电价pytorch+lstm+历史特征和价格+时间序列 电价预测模型资源 完整代码数据可直接运行
  • js脚本和ts脚本相互调用
  • 虚拟机一插SD卡就蓝屏,导致整个电脑系统蓝屏怎么办
  • 一、SVN与svnbucket.com常见问题解答
  • PTP高精度时间同步的核心:E2E与P2P延迟补偿机制
  • FPGA|Quartus II 中pll IP核的具体使用方法