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

相关推荐
小羊没烦恼!1 小时前
OS X 上使用.NET开发应用程序
开发语言·前端·数据库·人工智能·c#·策略模式
Behavior3 小时前
Unity 7.0 Alpha 拆解:编辑器干掉 Mono 换 CoreCLR
c#·unity3d·游戏开发
淡海水3 小时前
02-06-原理篇-增量式GC与并发GC
算法·unity·c#·并发·gc·增量
Vertira4 小时前
C# 函数封装成 DLL,
开发语言·c#
浅尝辄止;5 小时前
设计模式在HIS/LIS医疗系统中的完整实践指南(C#版)
开发语言·设计模式·c#
kimloner15 小时前
开源一个 376KB 的 Windows 桌面小工具:便签 + 截图标注 + OCR + 待办提醒(C# / WinForms)
windows·开源·c#·ocr·winforms
阿松爱学习16 小时前
【Unity开发】Aspose.PDF的使用
unity·pdf·c#
半亩码田17 小时前
C#转Python第4.8篇:正则表达式:Python re 模块 vs C# System.Text.RegularExpressions
python·正则表达式·c#
FPGA小徐17 小时前
【一生一芯 / PA】异常响应机制:RISC-V 中 ecall → mtvec → mret 的完整代
开发语言·数据库·c#
淡海水18 小时前
02-04-原理篇-GC Roots与对象图遍历
算法·unity·c#·图·gc·遍历·roots