unity3D代码规范及项目目录结构_第1页
unity3D代码规范及项目目录结构_第2页
unity3D代码规范及项目目录结构_第3页
unity3D代码规范及项目目录结构_第4页
unity3D代码规范及项目目录结构_第5页
已阅读5页,还剩5页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

项目目录及代码规范一、目录部分(公共规范)

1.自定义目录以”_”开头(一级目录也是就在Assets目录下面的自定义目录)(之前有看过一篇文章说如此做法的好处是:文件夹下如果没有用到的资源,打包时不会被打入进去);建议场景以双下划线”__”开头,保证场景永远在所有文件夹的最前边。

2.

--Editor

自写的灵活方便插件

--Editor_NGUI

较大型三方的插件(前面加上Editor是为了让所有编辑器都集中在一块)

(--NGUI

较大型三方的插件,如果你们目录不多,看起来不乱不改名字也没问题。方便更新。如果用的插件比较多的话,还是将它放到Plugins下面。只是更新的时候需要注意一下就是了。)

--Gizmos

使用GIZMOS所需要的标志等临时文件

--StreamingAssets

(包括JsonData目录/Assetbundle目录/各种只读文件预储存目录,这个目录将自动打包到导出程序,用Application.streamingAssetsPath读取)

--Models

模型文件,其中会包括自动生成的材质球文件

--Others

其他类型的文件(一般作为不常修改的文件类型,例如添加的Shader、物理材质、动画文件。)若认为是比较常用的话,可以提取成一个文件夹。

--Plugins

主要是DLL的外部插件文件,例如JsonFx、SmartFoxClient等

--Prefabs

预储存文件

--Resources

动态加载的资源文件,一般这里只用少量,多的话,需要自己打ASSETBUNDLE包,有选择性的动态加载

--Scenes

场景文件

--Scripts

脚本代码文件

--Sounds

音效文件

--Textures

所有的贴图

增加一个大写字母Z打头的测试文件夹,比如Ztest,所有的测试内容都可以放到这个文件夹,好处是该文件夹永远处于所有文件夹的最下面,而且最后打包的时候可以完全删掉,保证测试的内容都剔除出去。

二、代码部分(程序规范)基本命名规范:

命名原则Pascal

Case

所有单词第一个字母大写,其他字母小写。Camel

Case

除了第一个单词,所有单词第一个字母大写,其他字母小写。原则:MicroSoft建议,对于简单的变量使用CamelCase,而对于比较高级的命名规则使用PascalCase。3.1.2.

Namespace「名空间」

命名规范1)

使用

公司名.产品名

这样的格式。(例:Babybus.xxx)2)

Namespace中类的依赖关系应该体现在命名上,比如System.Web.UI.Design中的类以来于System.Web.UI。3)

使用

Pascal大小写形式命名。(例:GameSceneScript)4)

当商标(产品名)的命名风格和Pascal风格不符时,以商标(产品名)为准。(例:iOS)5)

在语意合适的情况下使用复数,比如System.Collections。例外是缩写和商标的情况。6)

Namespace的名字不一定和Assembly一一对应。3.1.3.

Class[类]

命名规范1)

使用名词或者名词性词组命名class。2)

使用

Pascal

case。3)

文件名应和类名相同。4)

保守地使用缩写。5)

不使用type前缀,例如C来标识Class。比如,使用FileStream而不是CFileStream。6)

不使用下划线。7)

偶尔的在Class名称组成中需要使用I开头的时候,比如IdentityStore,just

use

it。8)

在合适的时候,使用单词复合来标识从某个基类继承而来。比如xxxException。3.1.4.

Interface[接口]的命名1)

使用名词或者名词性词组命名Interface。2)

使用

Pascal

case。3)

保守地使用缩写。4)

在interface

名称前加上字母I来表示type是interface。如:(IBabybus)5)

在某个class是某个interface地标准实现地时候,用类似的名字来命名它们,仅仅在interface的名称前面多个I。6)

不要使用下划线。7)

文件名应和类名相同。3.1.5.

Attribute[参数]

命名规范1)

总是给Attribute类加上Attribute后缀。2)

文件名应和类名相同。3.1.6.

Enumeration

Type[枚举]

命名规范1)

对Enum类型和值使用Pascal

case。2)

不要在Enum类型名称后面加上Enum后缀。3)

对于大多数Enum类型使用单数名称,仅仅在这个Enum类型是bit

fields地时候使用复数形式。4)

总是给bit

field

Enum

类型添加FlagsAttribute。3.1.7.

Static

Field[静态变量]

命名规范1)

使用名词、名词性词组或者名词地缩写来命名static

fields。2)

使用Pascal

case。3)

不要在static

field名称中使用匈牙利命名法[变量名=属性+类型+对象描述]。4)

在任何可能的情况下推荐你使用静态properties[属性]而不是public

static

fields。3.1.8.

Private

Field[私有变量]

命名规范1)

使用名词、名词性词组或者名词地缩写来命名。2)

使用Camel

Case。

3)

变量名中不使用下划线

(_)。4)

成员变量不要使用匈牙利命名法。5)

只要合适,在变量名的末尾追加计算限定符(Avg、Sum、Min、Max、Index)。6)

在变量名中使用互补对,如

min/max、begin/end

open/close。7)

布尔变量包含

Is,这意味着

Yes/No

True/False

值,如:

(fileIsFound)。8)

状态变量命名时,避免使用诸如

Flag

的术语。状态变量不同于布尔变量的地方是它可以具有两个以上的可能值。不是使用

documentFlag,而是使用更具描述性的名称,如:

(documentFormatType)。PS.公有变量使用Pascal

case3.1.9.

局部变量命名规范1)

遵循3.1.8

Private

Field

命名规范。开头要加”_”

并用Var

定义

如:(

_babybus);2)

除去for循环,不要轻易使用单字母变量i,j,k等。3.1.10.

Parameter[参数]

命名规范1)

对于Parameter名称使用Camel大小写形式。如:(babyBus);2)

使用描述性的名称。参数名字应该在大多数场合下它的名字加上类型足够描述它的意义。3)

使用描述参数的意义的名字而不是描述参数类型的名字。开发工具应该提供有关参数类型的有意义的信息。因而,参数的名字可以用于更好的描述意义。4)

保守地使用基于类型的参数名字,仅仅在它们是合适的场合下使用。5)

不要使用保留的参数。6)

不要使用匈牙利命名法。3.1.11.

Method[函数]

命名规范1)

使用动词或者动词性词组命名。2)

使用Pascal

case。如:(BabyBus(){})3.1.12.

Property[属性]

命名规范1)

使用名词或者名词性词组命名。如:(AppleNum)2)

使用Pascal

case。3)

不要使用匈牙利命名法。4)

考虑使用和property

type名字相同的名字作为property

name。如:(AppleNumInt)3.1.13.

Event

命名规范1)

使用Pascal

case。2)

不要使用匈牙利命名法。3)

在event

handler名字中使用EventHandler后缀。如:(BabyBusEventHandler)4)

指定两个名字分别为sender和e的参数。sender参数代表了发出事件的对象。sender参数总是类型object,即使可能使用一个更加精确的类型。和事件相关的状态封装在名字为e的event

class的实体之中。给e指定恰当而且明确的event

class。5)

使用EventArgs后缀命名事件参数class。6)

考虑使用动词命名事件。使用进行时态来标识事件正在进行之中,使用完成时态标识事件已经完成,不要使用BeforeXxx/AfterXxx命名法。7)

不要在事件声明中使用前缀和后缀,比如,用Close而不是OnClose。8)

一般应同时提供一个名字为OnXxx的protected

method供派生类来改写。3.1.13.

注释

命名规范1)

定义的类和函数必须含有文件头标志’///’而且其中的内容介绍最好是带有空格的。如:///

<summary>///

用户类

用户基本信息

///

</summary>public

class

Person

{

}2)枚举必须注释3)参数必须注释,参数注释节点里不能空着,参数的个数必须与注释里的个数一致,参数的注释里

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论