找回密码
 立即注册
查看: 529|回复: 1

[笔记] Unity3D编码规范

[复制链接]
发表于 2023-2-23 17:18 | 显示全部楼层 |阅读模式
前言
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.、不准出现中文字符。
想要和小编一起学习的,可以叫小编创的秋秋群488--589--836,大家一起来讨论一起来学习。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

×
发表于 2023-2-23 17:18 | 显示全部楼层
谢谢,[衰]学完c#,去追unity教程太容易让我迷失当初铁哥的教诲。
懒得打字嘛,点击右侧快捷回复 【右侧内容,后台自定义】
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Unity开发者联盟 ( 粤ICP备20003399号 )

GMT+8, 2024-12-4 15:59 , Processed in 0.090702 second(s), 27 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表