c#开发规范

上传人:小** 文档编号:55706587 上传时间:2018-10-04 格式:DOC 页数:13 大小:116KB
返回 下载 相关 举报
c#开发规范_第1页
第1页 / 共13页
c#开发规范_第2页
第2页 / 共13页
c#开发规范_第3页
第3页 / 共13页
c#开发规范_第4页
第4页 / 共13页
c#开发规范_第5页
第5页 / 共13页
点击查看更多>>
资源描述

《c#开发规范》由会员分享,可在线阅读,更多相关《c#开发规范(13页珍藏版)》请在金锄头文库上搜索。

1、C#C#开发规范开发规范版本版本更新时间更新时间修改人修改人备注备注V1.02016wp目目 录录术语3文件命名3代码外观4程序注释6对象声明8代码规范9命名规范9 语句规范.17开发建议.20术语术语PascalPascal 大小写大小写:将标识符的首字母和后面连接的每个单词的首字母都大写。可以对三 字符或更多字符的标识符使用 Pascal 大小写。例如:BackColor CamelCamel 大小写大小写:标识符的首字母小写,而每个后面连接的单词的首字母都大写。例如:backColor文件命名文件命名文件名遵从 Pascal 命名法,无特殊情况,扩展名小写。 文件开始包含类似以下注释说明

2、/* / 文件名: / 文件功能描述: / 创建人: / 创建时间: / 描述: / 修改人: / 修改时间: / 修改描述: /*/ 文件功能描述着重于描述文件功能与说明,详情应在类的注释中描述。 一天内有多个修改只需做做一个修改标识,在所有的代码修改处加上修改标识的注释。代码外观代码外观列宽列宽 代码列宽控制在 100 字符左右。 代码换行,换行后的代码应该缩进一个 Tab。 换行换行 当表达式超出或即将超出规定的列宽,遵循以下规则进行换行 在逗号后换行。 在操作符前换行。 规则 1 优先于规则 2。 当以上规则会导致代码混乱的时候自己采取更灵活的换行规则。 缩进缩进 缩进应该是每行一个

3、Tab(4 个空格),不要在代码中使用 Tab 字符。 空行空行 在以下情况下使用两个空行 接口和类的定义之间。 枚举和类的定义之间。 类与类的定义之间。 在以下情况下使用一个空行 方法与方法、属性与属性之间。 方法中变量声明与语句之间。 方法与方法之间。 方法中不同的逻辑块之间。 方法中的返回语句与其他的语句之间。 属性与方法、属性与字段、方法与字段之间。 注释与它注释的语句间无空行,但与其他的语句空一行。 空格空格 在以下情况中要使用到空格 关键字和左括号(应该用空格隔开。 在方法名和左括号 ( 之间不要使用空格。 多个参数用逗号隔开,每个逗号后都应加一个空格。 除了 . 之外,所有的二元

4、操作符都应用空格与它们的操作数隔开。 一元操作符、+及-与操作数间不需要空格。 语句中的表达式之间用空格隔开。如 for (expr1; expr2; expr3) 括号括号 左括号(不要紧靠关键字,中间用一个空格隔开。 左括号(与方法名之间不要添加任何空格。 没有必要的话不要在返回语句中使用()。 花括号花括号 左花括号放于关键字或方法名的下一行并与之对齐。 左花括号要与相应的右花括号 对齐。 通常情况下左花括号单独成行,不与任何语句并列一行。 if、while、do、for 语句后一定要使用,即使号中为空或只有一条语句。 右花括号 后加一个注释以便于方便的找到与之相应的。块语句块语句 将大

5、的复杂代码节分为较小的、易于理解的模块。 当一行被分为几行时,将运算符放在行的末尾,标识行是不完整的。 在代码中垂直对齐左括号和右括号。if (x = 0) 不允许以下情况:if (x = 0) if (x = 0) xxx;程序注释程序注释注释原则注释原则 注释应该是解释为什么和做什么,而不是介绍是什么。 修改代码时,总是使代码周围的注释保持最新。 变量声明时,使用行尾注释是合适的;其他情况下,使用单行注释。 避免杂乱的注释,如一整行星号。而是应该使用空白将注释同代码分开。 在部署发布之前,移除所有临时或无关的注释,避免维护工作中产生混乱。 如果需要用注释来解释复杂的代码节,先检查代码是否应

6、该重写。 在编写注释时使用完整的句子。注释应该阐明代码,而不应该增加多义性。 避免多余的或不适当的注释。 注释代码中不十分明显的任何内容。 为了防止问题反复出现,对错误和解决方法总是使用注释。 对由循环和逻辑分支组成的代码使用注释。 使用具有一致的风格和语言来构造注释。 用空白将注释同注释分隔符分开。 新增代码行的前后要有注释行说明,对具体格式不作要求,但必须包含作者,新增时 间,新增目的。在新增代码的最后必须加上结束标志; 善于运用#region,#endregion。 单行注释单行注释 用于方法内的代码注释。如变量的声明、代码或代码段的解释。示例: / 注释语句private int nu

7、mber; 方法内变量的声明或花括号后的注释,示例:/ always true if ( 1 = 1) statement; / always true 多行注释:多行注释: 该类注释用于说明一段代码的逻辑、运算步骤、注意事项等需要详细说明的内容。/* statement description* statement description* statement description */ statement; 文档注释文档注释 .Net 预定义 Xml 标签来标记对象说明,在声明接口、类、方法、属性、字段都应该使 用该类注释。/ / 方法描述/ / 参数说明 / 返回值说明public s

8、tatic void Method(string key) return ; 类注释类注释 模块开始尽量以以下形式书写模块注释: /* / 类名: / 功能描述: / 创建人: / 创建时间: / 描述: / 修改人: / 修改时间: / 修改描述: /*/ 注意:类的修改应该在注释中添加修改记录,且记录累加。 属性注释属性注释 在类的属性必须以以下格式编写属性注释:/ /属性说明/ 方法注释方法注释 在类的方法声明前必须以以下格式编写注释:/ / 函数的作用 / / /异常类型、异常结果说明(为什么产生此异常) 对象声明对象声明变量声明变量声明建议一行只作一个声明。示例:int level;

9、 /推荐int size; /推荐int x, y; /不推荐 在变量声明时就对其做初始化。 变量声明置于块的开始处,不要总是在第一次使用它们的地方做声明。例外:for (int i = 0; i len; i+) 避免不同层次间的变量重名 类、接口声明类、接口声明 在方法名与其后的左括号间没有任何空格。 左花括号出现在声明的下行并与之对齐,单独成行。 方法间用一个空行隔开。 字段声明字段声明 不要使用是 public 或 protected 的字段。 如果需要将字段公开,请使用属性代码规范代码规范命名规范命名规范命名由字母、数字和_组成。命名是为了帮助人们阅读。 避免使用系统保留字。 应选择

10、正确的名称,能够表明功能或定义目的。 在编程上通过命名可以将各项明确的区分开来。 避免容易被主观解释的难懂的名称,避免歧义。 只要合适,在变量名的末尾或开头加计算限定符。 在一组相关变量的命名中使用互补对,如 min/max、begin/end 和 open/close。 布尔变量名应该包含 Is,这意味着 Yes/No 或 True/False 值。 在命名状态变量时,避免使用诸如单纯 Flag 或 Status 的术语。 不要使用匈牙利语表示法。 大小写规则大小写规则 大写 标识符中的首字母大写,仅对于由两个或者更少字母组成的标识符使用该约定。示例:System.IO System.Web

11、.UI 下表汇总了大写规则,并提供了不同类型的标识符的示例。标识符大小写示例类PascalAppDomain 枚举类型PascalErrorLevel 枚举值PascalFatalError 事件PascalValueChange 异常类PascalWebException 总是 Exception 后缀结尾。静态字段PascalRedValue 接口PascalIDisposable 总是 I 前缀开始。方法PascalToString 命名空间PascalSystem.Drawing 属性PascalBackColor 公共实例字段PascalRedValue 属性优于使用公共实例字段。受

12、保护的实例字段Camel redValue 属性优于使用受保护的实例字段。私有的实例字段CamelredValue 参数CameltypeName 方法内的变量CamelbackColor缩写缩写 不要将缩写或缩略形式用作标识符名称的组成部分。 不要使用计算机领域中未被普遍接受的缩写。 在适当的时候,使用众所周知的缩写替换冗长的词组名称。例如 UI 或 OLAP。 使用缩写时,对于超过两个字符长度的缩写请使用 Pascal 大小写或 Camel 大小写, 但应当大写仅有两个字符的缩写,如 System.IO 而不是 System.Io。 不要在标识符或参数名称中使用缩写。 命名空间命名空间 命

13、名空间使用公司名.项目名称,后续可添加按技术名称和功能、模块名称。 命名空间和类不能重名。 类类 用名词或名词短语命名类。 使用全称避免缩写,除非缩写已是一种公认的约定,如 URL、HTML 不要使用类型前缀。 不要使用下划线字符(_)。 接口接口 接口命名与类相同,唯一区别是给接口名称加上大写字母 I 前缀。 枚举枚举 (Enum)(Enum) 不要在 Enum 类型名称上使用 Enum 后缀,可根据使用场景添加后缀限定。 对大多数 Enum 类型使用单数名称,但是对作为位域的 Enum 类型使用复数名称。 总是将 FlagsAttribute 添加到位域 Enum 类型。 参数参数 使用描

14、述性词语定义参数名称。 使用描述参数的含义的名称,而不要使用描述参数的类型的名称。 方法方法 使用动词或动词短语命名方法。 返回值是 Bool 值的方法以 Is 开头; 属性属性 使用名词或名词短语命名属性。 返回值是 Bool 值的属性以 Is 开头; 考虑用与属性的基础类型相同的名称创建属性。 事件事件 使用动词、动名词描述事件名称。 对委托定义使用 Event 后缀。 对事件定义使用 EventHandler 后缀。 用 EventArgs 后缀命名事件参数类。 不要在非动作事件声明上使用 on 前缀。 常量常量 (const)(const) 所有单词大写,多个单词之间用下划线字符(_)

15、隔开。 字段字段 禁止使用 public 修饰字段。 private、protected 使用 Camel 大小写。 属性的私有变量添加下划线字符(_)前缀 静态字段静态字段 使用名词、名词短语或者名词的缩写命名静态字段。 尽可能使用静态属性而不是公共静态字段。 集合集合 集合的命名建议用复数形式。 措词措词 避免使用与常用的.NET 框架命名空间类名称冲突。 避免使用和 C#关键字冲突的标识符。语句规范语句规范单行语句单行语句每行最多包含一个语句。如a+; /推荐b-; /推荐 a+; b-; /不推荐 复合语句复合语句 复合语句是指类似“父语句子语句;子语句;”的语句,要求: 子语句要缩进。 左花括号 在复合语句父语句的下一行并与之对齐,单独成行。 即使只有一条子语句要不要省略花括号 。 如while (d + = s+) n+; 表达式表达式 避免在表达式中用赋值语句 避免对浮点类型做等于或不等于判断 类型转换类型转换 尽量避免类型转换。 如果不得不进行类型转换,尽量用显式方式。returnreturn 语句语句 return 语句中不使用括号,

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 商业/管理/HR > 管理学资料

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号