C#通用编码规范
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
C#通用编码规范
Posted on 2010-11-03 15:31 gczhao阅读(71) 评论(0)编辑收藏
本文转自/usernam egaorn/archive/2007/10/20/1834275.aspx
基本命名规范
注记:
Pascal 大小写形式:所有单词第一个字母大写,其他字母小写。
Cam el 大小写形式:除了第一个单词,所有单词第一个字母大写,其他字母小写。
对于在页面中的类,类名使用Pascal大小写形式,当然,这个类名通常情况下与前台页面的文件名是一致的,比如,对于一个页面HelloWorld.aspx,其类名会如下定义:
public class HelloWorld : Page
{
…
}
对于类库中的类,则应按照约定加一定的前缀,通常是小写字母c,比如一个通用类可以如下定义:public class cHelloWorld
{
…
}
自然的,相应文件名也是遵循此定义格式,在本例中,为cHelloWorld.cs
类中的方法都使用Pascal大小写形式
public class HelloWorld
{
void SayHello ( string userName )
{
…
}
}
变量和方法中的参数使用Cam el 大小写形式
public class HelloWorld
{
int totalCount = 0;
void SayHello ( string userName )
{
string fullMessage = "Hello " + userName;
…
}
}
常量的定义
常量名通常全部采用单词的大写,单词之间以下划线“ _ ”隔开。
private const bool WEB_DEFAULT_DATA_LINK = true;
类的对象实例的命名
可以采用取类的首字母小写的方法,比如:
DataSet ds = new DataSet();
cHelloWorld hw = new cHelloWorld();
页面控件的命名
页面控件命名时,最好按照类型加前缀,其命名方式类似Camel 大小写形式,比如:txtUserName,btnSumbit,lblErrorInfo。
不要使用匈牙利方法来命名变量
以前,多数程序员喜欢把数据类型作为变量名的前缀而m_作为成员变量的前缀。
例如:
string m_sName;
int iAge;
然而,这种方式在.NET编码规范中是不推荐的。所有变量都用Camel 大小写形式,而不是用数据类型和m_来作前缀。
别使用单个字母的变量象i,n,x 等。使用index,temp等。当然,用于循环迭代的变量例外,如for 循环中的i。
尽量不要使用下划线
C#中的下划线会带来不好的代码阅读体验,所以应当限制下划线的使用。唯一采用下划线的规则是常量名的定义。
比如如下代码:
private string ExitDoor()
{
cControl_Exit.Door();
....
}
其中的cControl_Exit.Door,一眼之下难以区分类还是方法,习惯于vb编程的人很容易将cControl看成对象,将Exit.Door看成方法。
不要使用关键字或疑似关键字作为变量名
比如class,void,key之类的单词,尽量不要单独用作变量名,但可以与其它单词组合作为变量名。
类、方法和变量的命名不要过长,限制在三到四个单词以内。另外,要用有意义的,描述性的词语来命名变量。别用缩写。用name,address,salary等代替nam,addr,sal。
接口的命名
和类命名规范相同,唯一区别是接口在名字前加上“ I ”前缀
例:
interface IDBCommand;
interface IButton;
代码格式规范
避免使用大文件。
如果一个文件里的代码超过300~400行,必须考虑将代码分开到不同类中。
避免写太长的方法。一个典型的方法代码在1~25行之间。如果一个方法的代码超过25行,应该考虑将其分解为不同的方法。
使用Tab缩进使代码产生层次,不允许使用空格缩进。
当前一个值得关注的趋势,就是通过限制Tab制表符缩进的层数,控制代码嵌套的深度。
代码中操作符两端要留出空格
要这样:for ( int i = 0; i < 10; i++ ){}
不要这样:for (int i=0;i<10;i++){}
代码注释
好的代码要做到易读(见名知意),就可以尽量少的使用注释,对于必要的注释,要遵循以下格式:
注释文字要和“ // ”空一个格。
要这样:// 注释内容
不要这样://注释内容
模块或类文件的注释,采用如下格式:
///
/// Module ID:<模块编号,可以引用系统设计中的模块编号>
/// Module Name:<模块名称>
/// Depiction:<对此类的描述,可以引用系统设计中的描述>
/// Author:<作者>
/// Create Date:<模块创建日期,格式:YYYY-MM-DD>
///
方法的注释加到方法定义的前面,采用如下格式:
///
/// depiction:<对该方法的说明>
///
/// <参数说明>
///
/// <对方法返回值的说明,该说明必须明确说明返回的值代表什么含义>
///
/// Writer:<作者中文名>
/// Create Date:<方法创建日期,格式:YYYY-MM-DD>