net编程规范

上传人:xzh****18 文档编号:34413344 上传时间:2018-02-24 格式:DOC 页数:22 大小:144KB
返回 下载 相关 举报
net编程规范_第1页
第1页 / 共22页
net编程规范_第2页
第2页 / 共22页
net编程规范_第3页
第3页 / 共22页
net编程规范_第4页
第4页 / 共22页
net编程规范_第5页
第5页 / 共22页
点击查看更多>>
资源描述

《net编程规范》由会员分享,可在线阅读,更多相关《net编程规范(22页珍藏版)》请在金锄头文库上搜索。

1、Net 编程规范第一章 概述1.1 什么是编程规范所谓编程规范即是千百万有经验的程序员经历长期教训后,极少数的一些人通过总结和反思而养成的信条和习惯。这一规范可让你:高效率地编程、编写高质量的代码、获得更高的回报。1.2 质量标准1) 空间,如果不是特殊要求,程序应当尽可能少用空间,但对于某些需要反复使用的数据内容,特别是系统的字典数据,可以在系统中进行缓存,以提高性能。在某些要求性能的情况下,可以考虑以空间换取时间。2) 速度,程序应当是能在最优化的即最快的速度运行。一般有两个注意点,一:循环体内的代码应针对效率进行优化;二:反复使用的数据应缓存在内存中。3) 健壮性,不会因任何误操作(包括

2、非法数值)使程序崩溃。4) 安全性,对于用户数据,或网络程序,应当保证其数据或网络的安全。5) 可测试性,提交的产品或模块应可编译、可执行,能够进行测试。6) 可维护性,详细的注解,且程序应当具有面向对象的构件及模快。并且遵守对象与变量的命名规范。7) 易用性,简单,易操作,易使用。8) 可复用性,构件能用于其它产品中。1.3 为什么要进行编码约定?1) 使用统一编码约定集的主要原因,是使应用程序的结构和编码风格标准化,以便于阅读和理解编码。好的编码约定可使源代码严谨、可读性强且意义清楚。2) 编码约定的目的是使程序易于阅读和理解,而不是用过份的约束和绝对的限制来束缚程序员本身的创造性,故编码

3、约定不能过于繁杂。3) 本文的约定中没列出每一个可能的对象或控件,根据工程及机构的特殊要求,可以扩充这些准则,以包含附加的元素。1.4 说明本规范参考了大量前人的成果.但又不局限于此。本规范没有完全按照.NET 推荐的命名规则而来,而是结合了自身的实际和许多 Java 规范中很多优秀的经验而制定。第二章 环境设置规范2.1 开发环境Microsoft Visual Studio.NET2005 或 20082.2 工程设定 1) 不同.net 项目名称的前 8 位不能相同2) 修改 AssemblyInfo.cs 版本号,将 assembly: AssemblyVersion(1.0.*)中的

4、1.0.*修改成具体的版本,目前一般改成 1.0.0,随着新版本的升级,各个工程的AssemblyInfo.cs 中的版本号需要与整个平台或项目的版本号保持一致。第三章 编码规范3.1 命名规范首先,命名总的原则是名称应该说明“什么”而不是“如何”,命名要足够长以同其它变量相分别,简要描述其意义,但要足够短以避免太长.以下是几个方面的命名规范.总原则,虽然,C#的类,方法,变量都会区分大小写,但是不得用大小写来区分各种实体。1、不要创建仅是名称大小写有区别的两个命名空间。例如, namespace ee.cummings;namespace Ee.Cummings;2、不要创建具有仅是大小写有

5、区别的参数名称的函数。下面的示例是不正确的。 void MyFunction(string a, string A)3、不要创建具有仅是大小写有区别的类型名称的命名空间。在下面的示例中,Point p 和 POINT p 是不适当的类型名称,原因是它们仅在大小写方面有区别。 System.Windows.Forms.Point pSystem.Windows.Forms.POINT p4、不要创建具有仅是大小写有区别的属性名称的类型。在下面的示例中,int Color 和 int COLOR 是不适当的属性名称,原因是它们仅在大小写方面有区别。 int Color get, setint CO

6、LOR get, set5、不要创建具有仅是大小写有区别的方法名称的类型。在下面的示例中,calculate 和 Calculate 是不适当的方法名称,原因是它们仅在大小写方面有区别。 void calculate()void Calculate()3.1.1 工程的命名与属性设置工程命名一律使用前缀”Fs”,紧随其后的单词首字母大写,如 FsConfigApp 等。工程对应的程序集名称应与工程名称保持一致工程的默认命名空间设置成空3.1.2 包命名(命名空间命名)与.NET 推荐的规范中不同,本规范要求命名空间的命名全用小写,并且最好每个段只用一个单词。命名空间的第一个单词为组织名,如 F

7、ORESTAR.第二个单词应该是工程相关的描述。如 app 表示应用程序,core 表求核心。两个例子如下所示。FsCore 工程 core db security utilfsConf 工程 config dict flow layercatalog log orguser query role stat另外,如果命名空间有对应的子目录的话,该子目录的名称应该与命名空间严格保持一致。3.1.3 类命名1) 名字应该能够标识事物的特性。2) 名字尽量不使用缩写,除非它是众所周知的,如 DB。3) 名字可以有两个或三个单词组成,但通常不应多于三个。4) 在名字中,所有单词第一个字母大写。 例如

8、UserCatalog.5) 使用名词或名词短语命名类。 6) 不要使用下划线字符 (_)。 public class DBHelperpublic class BookMark7) 特别规定:窗体类以 Form 开头,窗体变量以 frm 开头。用户自定义控件以 UI 开头,其变量名以 ui 开头。3.1.4 接口命名和类命名规范相同,唯一区别是 接口在名字前加上“I”前缀public interface IPlugIn 3.1.5 函数1.函数命名 使用动词或动词短语命名方法。 将标识符的首字母和后面连接的每个单词的首字母都大写。如,以下是正确的命名方法。void GetCharArray(

9、)void RemoveAll()IDataReader GetUserByUserID(int userID)2.参数命名 参数命名可以是将标识符的首字母小写,而将后面连接的每个单词的首字母大写。 另外如果全部小写也是可以的。public int GetNextValidID(string tblName, string fldName)public ItemInfo(object objectvalue, object rendervalue) 参数个数最好控制在 7 个以内 对于每一个参数,在函数内部执行时首先要验证其合法性,不能不经验证直接使用。 参数顺序按照:输入-修改-输出的顺序定

10、义。3.函数长度 一般要控制到 100 行以内,最多不能超过 200 行、如果代码行数超过此范围考虑增加子程序3.1.6 变量命名 每个变量(除计数器外)最好有明确的唯一的含义和用途,方便程序的阅读和使用。尽量不要定义 temp,str 等等没有明确含义的变量。 对于用到限定字符如:Total、Sum、Average、Max、Min、Record、String、Pointer 这样的修饰词,需要将其放到名字的最后。 变量作用域标识符:全局变量(C#类的静态变量作为全局用途)g_、成员变量 m_ 对于类属性变量,采用第一单词小写开头,后面每一个单词首字母均大写的方法,访问级别设置为 privat

11、e,并按情况提供 get 方法或者 set 方法。如果只是需要公开的简单属性成员,则可以直接定义成 public, 不必提供 get 方法或者 set 方法.public class ItemInfo private object m_pObjectValue = null;private object m_pRenderValue = null;public object Rendervalueget return renderValue; set renderValue = value; 尽可能在变量定义后就初始话变量,例如:对象可以初始化成 null。 方法内部局部变量可以采用上面的类属

12、性变量的命名方法,也可以采用全小写的命名法,但是要使用有意义的名称。 仅对于短循环索引使用单字母变量名,如 i 或 j,对于这类计数器要确保每次使用时都重新初始化。 针对异常捕获过程中的 Exception 变量命名,为了避免与方法中参数 e 的冲突,统一命名为 exp or ex。try /code catch(Exception exp) /your code如果捕获异常不需要作任何处理,则不需要定义 Exception 实例:try/your codecatch( Exception ) 除数字 0、1 外,不要再代码中使用原义数字或原义字符串,如 for(int i = 1;i/目的:

13、/创建人:创建者中文名/创建日期:/修改描述:/修改人:/修改日期:/备注:/修改描述:/修改人:/修改日期:/备注:/ 这么说明的目的是在于找到创建责任人,注意请不要将创建人改为作者,因为代码不是某一个人所有,一个类或模块也基本上不可能由某一个人所写。如果模块有大的修改,请在上面的注释下加入修改的描述与修改者的信息3.2.3. 类属性注释规范在类的属性必须以以下格式编写属性注释:/ /属性说明/ 3.2.4. 方法注释规范重要的类方法在其声明前必须用以下格式编写注释/ / 说明:/ / / / 在方法声明的上一行连续敲 3 个/,就可以自动生成标准格式的注释3.2.5. 代码间注释规范1)

14、代码间注释分为单行注释和多行注释: 单行注释:/ 多行注释: /*多行注释*/2) 代码中遇到重要的语句块时必须添加注释(if,for,foreach,),添加的注释必须能够说明此语句块的作用和实现手段(所用算法等等),也就是说明“怎么做”。3.3 代码风格1) 所有的缩进为 4 个空格,使用 VS.NET 的默认设置。Visual Studio.Net 设置:工具-选项-文本编辑器-C#-制表符-插入空格2) 在代码中垂直对齐左括号和右括号。if(x=0)Console.Write(用户编号必须输入!);else if (x = 1)不允许以下情况:if(x=0) Console.Write

15、(用户编号必须输入!);或者:if(x=0) Console.Write(用户编号必须输入!);3) 为了防止在阅读代码时不得不滚动源代码编辑器,每行代码或注释在 1024*768 的显示频率下尽量不要超过一显示屏4) 每一行上放置的语句避免超过一条。5) 在大多数运算符之前和之后使用空格,这样做时不会改变代码的意图却可以使代码容易阅读。例:int j = i + k; 而不应写为 int j=i+k;6) 将大的复杂的方法分为较小的、易于理解的方法,技巧:可以使用 Reshaper 的格式化代码功能。第四章 程序规范4.1语句4.1.1 每行一个语句每行最多包含一个语句。如a+; b-; a+; b-; /不允许4.1.2 复合语句复合语句是指包含父语句子语句;子语句;的语句,使用复合语句应遵循以下几点1) 子语句要缩进。2) 左花括号“” 在复合语句父语句的下一行并与之对齐,单独成行。3) 即使只有一条子语句要不要省略花括号“ ” 。 如while (d + = s+)n+;4.1.3 return 语句return 语句中不使用括号,除非它能使返回

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

当前位置:首页 > 行业资料 > 其它行业文档

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