Unity3D编码规范

前言

1.方便代码的交流和维护。

2.不影响编码的效率,不与大众习惯冲突。

3.使代码更美观、阅读更方便。

4.使代码的逻辑更清晰、更易于理解。

编写本套编码规范。

本套编码规范是对程序员编写高质量、高可维护性能的编码的规范化文档,本文档所有编码规范中除打印输出以及字符串变量内容以外,不允许出现任何中文、拼音等标识符。

缩进要求

本文档规定:代码语句块不同层级缩进四字符。

注释要求

类型、属性、事件、方法、方法参数,根据需要添加注释。

如果类型、属性、事件、方法、方法参数的名称已经是自解释了,不需要加注释;

否则需要添加注释。

文件要求

类名与源文件名一致。避免使用大文件,避免使用太长的方法。代码中使用相对路径,拒绝绝对路径。

排版要求

类型成员的排列顺序自上而下依次为:

字段:私有字段、受保护字段(尽量不要使用公有字段)

属性:私有属性、受保护属性、公有属性

事件:私有事件、受保护事件、公有事件

构造函数:参数数量最少的构造函数,参数数量中等的构造函数,参数数量最多的构造函数

方法:重载方法的排列顺序与构造函数相同,从参数数量最少往下至参数最多

Pascal命名法:每个单词首字母均大写。

Camel命名法:第一个单词首字母小写,其余单词首字母大写。

类(结构):

1、使用 Pascal 大小写。

2、用名词或名词短语命名类,保证类名清晰,尽量达到望文生义的境界。

3、类名称尽量少用或不用缩写,若使用了缩写一定要在注释中详细注明类的用途。

4、不要使用类型前缀,例如,类名称前加上C以表示这是一个类,如:CButton。

5 、类命名中不要使用下划线及数字。

6 、有时候虽然该类不是接口,但需要提供以字母 I 开始的类名称,此时只要 I 是作为类名称组成部分的整个单词的第一个字母,这依然是可行的。例如,类名 IdentityOrder 就是适用的。

7、类中方法之间空出一行。

8、调用内部成员需要用this关键字修饰,调用基类需要用base关键字修饰。

类命名示例:

public class FlightBuilder

public class HotelInfo

public class TicketShopper

字段

1、使用 Camel 大小写。

2、字段前加下划线以区分与之相对应的属性。

3、用名词或名词短语命名类,保证类名清晰,尽量达到望文生义的境界。

4、类名称尽量少用或不用缩写,若使用了缩写一定要在注释中详细注明类的用途。

5、布尔类型加is前缀修饰。

指针(特指单例模式)

1.命名使用_instance

2.对应属性使用Instance

接口:

1、 接口使用大些字母I做前缀,其后跟名词或名词短语,以描述这个接口,名词和短语使用Pascal方式,如,接口名称 ICache。

2、接口名称尽量少用或不用缩写,保证接口名清晰,尽量达到望文生义的境界,若使用了缩写一定要在注释中详细描述接口的用途。

3、接口名称中不要使用下划线及数字。

接口命名示例:

public interface ICache

public interface IClone

枚举:

1、用短语命名枚举,采用Pascal方式,保证枚举名清晰,尽量达到望文生义的境界。

2、枚举名称尽量少用或不用缩写,若使用了缩写一定要在注释中详细注明枚举的用途。

3、不要在枚举名称后跟上 Enum 后缀,如:OrderFlagEnum。

4、一定不要使用汉字作为枚举值,以免多语言环境下造成莫名。

枚举命名示例:

public enum OrderFlag

{

None,

F

}

参数:

1、使用描述性参数名称,保证参数名称清晰,尽量达到望文生义的境界。

2、参数命名使用 Camel 方,尽量少用或不用缩写,若使用了缩写一定要在注释中详细注明参数的用途。

参数命名示例:

object GetCache(string cacheKey)

bool IsInt(string needCheckString)

方法:

1、用动词或动词短语命名方法名,保证方法名清晰,尽量达到望文生义的境界。

2、采用Pascal方式命名,尽量少用或不用缩写,若使用了缩写一定要在注释中详细注明方法的用途。

方法名示例:

public void ClearCache()

public char[] GetCharArray()

属性:

1、用名词或名词短语命名属性,保证属性名清晰,尽量达到望文生义的境界。

2、采用Pascal方式命名,尽量少用或不用缩写,若使用了缩写一定要在注释中详细注明属性的用途。

属性示例:

public string FlightNo {

get;

set;

}

常量:

1、所有单词大写,多个单词之间用 下划线(”_”)隔开,注意不是全角的下划线。 如

public const int PAGE_INDEX = 6;

局部变量及成员变量:

1、用名词或名词短语命名局部变量,保证变量名清晰,尽量达到望文生义的境界。

2、采用Camel方式命名,尽量少用或不用缩写,若使用了缩写一定要在注释中详细注明变量的用途。

局部变量命名示例:

int index = 6;

string airline = string.Empty;

private string flightNo = null;

特性(Attribute):

1、用名词或名词短语+Attribute方式命名特性,保证特性名清晰,尽量达到望文生义的境界。

2、采用Pascal方式命名,尽量少用或不用缩写,若使用了缩写一定要在注释中详细注明特性的用途。

特性命名示例:

public class ValidAttribute : Attribute

{

}

异常:

1、用名词或名词短语+Exception方式命名自定义异常,保证特性名清晰,尽量达到望文生义的境界。

2、采用Pascal方式命名,一定不能使用简写。

异常命名示例:

public class FlightException : ApplicationException

{

}

委托(delegate)与事件(Event):

1、用动词短语命名委托,保证委托名清晰,尽量达到望文生义的境界。

2、采用Pascal方式命名,一定不能使用简写。

3. 规范参照下文示例。

委托与事件命名示例:

delegate void RaiseEventHandler(string hand);

public event RaiseEventHandler RaiseEvent;

命名空间

1、采用Pascal方式命名,一定不能使用简写。

2.、不准出现中文字符。

有什么问题可以在评论区留言,看到了会回复大家的。

最后,关注小编,希望大家学会安装的,不要吝啬分享给身边需要的小伙伴!转发让更多人看到,也不枉费小编辛苦给大家整理,谢谢大家!

你可能感兴趣的:(Unity3D编码规范)