C#编码规范第1/11页1程序结构所有源代码的结构均采用以下顺序布局,对于没有的部分可以省略,便于阅读代码。//==============================================================================================#regionConstant#endregionConstant//----------------------------------------------------------------------------------------------#regionMembers#endregionMembers//----------------------------------------------------------------------------------------------#regionDefaults#endregionDefaults//----------------------------------------------------------------------------------------------#regionProperties#endregionProperties//==============================================================================================#regionConstructors#endregionConstructors//----------------------------------------------------------------------------------------------#regionInterfaceMethods#endregionInterfaceMethods//----------------------------------------------------------------------------------------------#regionStaticMethods#endregionStaticMethods//----------------------------------------------------------------------------------------------#regionOverrideMethods#endregionOverrideMethods//----------------------------------------------------------------------------------------------#regionPrivateMethods#endregionPrivateMethods//----------------------------------------------------------------------------------------------#regionProtectedMethods#endregionProtectedMethods//----------------------------------------------------------------------------------------------#regionPublicMethods#endregionPublicMethods//==============================================================================================#regionEvents#endregionEvents//==============================================================================================长江大学计算机学院jky.yangtzeu.edu.cnC#编码规范第2/11页2命名规则和风格⑴类、方法、常量采用Pascal风格命名publicclassSomeClass{constintDefaultSize=100;publicSomeMethod(){}}⑵成员变量采用Camel风格命名,但前面加一个底划线publicclassSomeClass{int_port=5000;publicSomeMethod(){}}⑶局部变量和方法参数采用Camel风格命名publicclassSomeClass{publicSomeMethod(intlen){stringsLine;}}⑷接口采用I作为前缀命名interfaceIMyInterface{}⑸自定义属性类型以Attr作为后缀命名⑹自定义异常类型以Ex作为后缀命名⑺采用动名词命名方法,例如ShowDialog()⑻有返回值的方法的命名应该能够描述其返回值,例如GetObjectState()⑼采用描述性的变量名。a)避免采用单字母的变量名,如i或t;而是采用index或temp长江大学计算机学院jky.yangtzeu.edu.cnC#编码规范第3/11页b)对public和protected成员避免采用用匈牙利命名法,如:采用Port不用nPort,c)尽量不要采用缩写(例如将number缩写为num)⑽总是使用C#预定义的类型,而不是使用System命名空间中的别名例如:采用object不用Object采用string不用String采用int不用Int32⑾对于泛型类型采用大写字母。当处理.NET类型的Type时保留其后缀Type//正确方法:publicclassLinkedList{……}//避免使用:publicclassLinkedList{……}⑿采用有意义的命名空间名,例如产品名称或公司名称⒀避免使用类的全称,而是采用using声明⒁避免在命名空间内使用using语句⒂把所有系统框架提供的名称空间组织到一起,把第三方提供的名称空间放到系统名称空间的下面usingSystem;usingSystem.Collection.Generic;usingSystem.ComponentModel;usingSystem.Data;usingMyCompany;usingMyControls;⒃使用代理推导而不要显式的实例化一个化代理(C#2.0新特性)delegatevo...