C#编码规范

1.  避免将多个类放在一个文件里面。 (原子性)

2.  一个文件应该只有一个命名空间,避免将多个命名空间放在同一个文件里面。

3.  一个文件最好不要超过1000行的代码。

4.  一个方法的代码长度最好不要超过50行。

5.  避免方法中有超过5个参数的情况。如果超过了,则应使用Class来传递多个参数。

6.  每行代码不要超过100个字符。

7.  避免利用注释解释显而易见的代码。

a)  代码应该可以自解释。好的代码本身就应具体良好的可读性,所使用的变量和方法

    命名一般情况下不需要注释。

8.  不要硬编码数字的值,尽量使用构造函数或可配置文件设定其值。

9.  只有是自然结构才能直接使用const(常量),比如一个星期的天数。

10. 每一个方法都应该通过白盒方式的测试。 Unit Test

11. 在捕获(catch)语句的抛出异常子句中(throw),总是抛出原始异常,用以维护原始错误

    的堆栈分配。  

catch(Exception exception)
{   
      MessageBox.Show(exception.Message);
      throw ;  //和throw exception一样。
}

12. 避免方法的返回值是错误代码。

13. 避免使用try catch 作为条件判断语句。

14. 尽量不要提供public  protected的成员变量,使用属性代替他们。

15. 在不是sealed的类中总是将public  protected的方法标记成virtual的。

16. 避免显式的转换,使用as操作符进行兼容类型的转换。

Dog dog = new GermanShepherd();
GermanShepherd shepherd = dog  as  GermanShepherd;
If (shepherd != null )
{…}

17. 当需要构建较长的字符串的时候,应该考虑使用StringBuilder不要使用string来处理。

注:string每次要创建一个新的实例,较占用空间,并产生了相对StringBuilder更大

        过于频繁的字符串操作,采用StringBuilder是一个良好的习惯。

18. 通常情况下避免有从System.Object转换来和由System.Object转换去的代码,而使用

强制转换或者as操作符替换。

19. 初始化类的实例时,除非十分必要,否则不要赋null值。

20. 置方法必须以【Set】开头如:SetPrice(Product, decimal);

    必须以【Get】开头;如:GetPrice(Product);

    必须以【Add】开头;如:AddProduct(Product);

    必须以【List】开头,如:ListUser(string);

    真假判断的方法或属性必须以【Can】开头,如:CanDelete(long)

    真假判断的方法或属性必须以【Is】开头;如:IsAdministrator(User)

21. 对于相同功能的方法要尽量重载;

22. 类的私有成员, 第一个单词首字母小写其余首字母大写, eg: isStudent;

23. 类的属性名, 所有单词的第一个首字母都要大写, eg: IsStudent;

24.类、枚举、结构体的名字, 所有单词的第一个首字母都要大写; eg: Student;

25.除类的私有成员外的变量, 均为第一个单词首字母小写其余首字母大写。eg: isStudent;

 

posted on 2013-09-23 23:46  Frank.Fan  阅读(381)  评论(0编辑  收藏  举报