前言
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.、不准出现中文字符。
有什么问题可以在评论区留言,看到了会回复大家的。
最后,关注小编,希望大家学会安装的,不要吝啬分享给身边需要的小伙伴!转发让更多人看到,也不枉费小编辛苦给大家整理,谢谢大家!