C#命名规则和开发习惯

** C# Coding Standard **

一、命名

1. 用 pascal 规则来命名方法和类型 .

public class TextBox

{

public void DataBind()

{

}

}

2. 用 camel 规则来命名局部变量和方法的参数 .

string userName;

public AddUser( string userId, byte [] password);

3. 所有的成员变量前加前缀 m_

public class Database

{

public string m_connectionString;

}

4. 接口的名称加前缀 I.

interface ICompare

{

int compare();

}

5. 自定义的属性以 Attribute 结尾

public class AuthorAttribute : Attribute

{

}

6. 自定义的异常以 Exception 结尾

public class AppException : Exception

{

}

7. 方法的命名 . 一般将其命名为动宾短语 .

ShowDialog()

CreateFile()

GetPath()

8. 代码的缩进 . 要用 Tab ,而不要用 space.

9. 局部变量的名称要有意义 . 不要用 x , y , z 等等 .

string userName

10. 所有的成员变量声明在类的顶端,用一个换行把它和方法分开 .

11. 用有意义的名字命名 namespace ,如:产品名、公司名 .

12. 建议局部变量在最接近使用它时再声明 .

13. 使用某个控件的值时,尽量命名局部变量 .

14. 把引用的系统的 namespace 和自定义或第三方的分开 .

15. 文件名要能反应类的内容,最好是和类同名,一个文件中一个类 .

16. 目录结构中要反应出 namespace 的层次 .

17. 大括号 "{" 要新起一行 .

public class AuthorAttribute : Attribute

{

}

二、编码习惯 .

1. 用 C# 预定义的类名,而不要用别名 .

string userName; 而不是 System.String userName;

int number; 而不是 System.Int32;

2. 一行不要超过 80 个字符 .

3. 尽量不要手工更改机器生成的代码,若必须更改,一定要改成和机器生成的代码风格一样 .

4. 关键的语句 ( 包括声明关键的变量 ) 必须要写注释 .

5. 文字常量和数字常量不要硬编码,应该用常量类或枚举代替 .

6. 不要用 goto 系列语句 .

7. 不要声明 public 和 protected 的成员变量,应用 property.

8. 不要声明 public 的 event ,应用事件访问器 .

public class Source

{

private EventHandler m_NumberChangeEvent;

public event EventHandler NumberChangeEvent

{

add

{

m_NumberChangeEvent += value ;

}

remove

{

m_NumberChangeEvent -= value ;

}

}

}

9. 类型转换的使用规则 .

Animal animal = new Dog();

Dog dog = animal as Dog;

if (dog != null )

{

}

10. 生成和构建一个长的字符串时,一定要使用 StringBuilder ,而不用 string.

11. 始终使用 "{ }" 包含 if 下的语句,即使只有一条语句 .

12.switch 语句一定要有 default 来处理意外情况 .

13. 尽量不要使用三目运算符 ? : ,而要使用 if 语句 .

14. 尽量不用使用 this 引用,除非是要调用类中的另一个 Constructor.

public class Person

{

public Person( string name)

{

}

public Person() : this ("Jim")

{

}

}

Published At
Categories with Web编程
Tagged with
comments powered by Disqus