c#编程中容易忽视的规范

来源:互联网 发布:java会议室管理系统 编辑:程序博客网 时间:2024/05/16 11:38
  • 在.Net编码规范中不推荐使用匈牙利方法来命名变量,变量和方法参数使用Camel大小写形式,常量往往全部使用大写字母声明,并且多个单词之间用"_"隔开。

   Pascal大小写形式-所有单词第一个字母大写,其他字母小写。
   Camel大小写形式-除了第一个单词,所有单词第一个字母大写,其他字母小写。

  • 变量声明过于随意化,避免使用dataRow0/dataRow1/dataRow2这样的命名方式。并且,在块的开始处,不要总是在第一次使用它们的地方做声明,建议同时就对其初始化。
  • 不要把成员变量声明为 public 或 protected,都声明为 private 而使用 public/protected 的Properties,微软推荐。
  • 用与属性的基础类型相同的名称创建属性,直观一目了然。
    1. public Color BackGroundColor
    2. {
    3.    // Code for Get and Set accessors goes here. 
    4. }
  • 滥用异常,捕获异常后不进行任何操作,这样的异常处理不必要,通常.net framwork会自动抛出。
    1. try
    2. {
    3.    //your code 
    4. }
    5. catch
    6. {
    7.   throw;
    8. }
  • 循环DataTable时不需要判断DataTable的长度是否为0,但必须判断是否为null。当DataTable的长度为0时,是不会进入循环体的。
    1. //不需要判断dataTable.Rows.Count>0 
    2. if(dataTable != null && dataTable.Rows.Count>0)
    3. {
    4.    foreach(DataRow row in dataTable.Rows)
    5.    {
    6.       //your code 
    7.    }
    8. }
  • 应使用逆序循环删除DataTable中的DataRow 
    1. //错误: 
    2. for(int i=0;i<dataTable.Rows.Count;i++)
    3. {
    4.    dataTable.Rows.RemoveAt(i);
    5. }
    6. //正确: 
    7. for(int i= dataTable.Rows.Count-1;i>=0;i--)
    8. {
    9.    dataTable.Rows.RemoveAt(i);
    10. }
    11. //或者: 
    12. for(int i=0;i<dataTable.Rows.Count;i++)
    13. {
    14.    dataTable.Rows[i].Delete();
    15. }
  • 当方法的参数有多种可能时,避免多次调用同一方法,应该对参数分别进行处理,方法调用时只调一次。
  1. //不好的代码 
  2. if(name = "MaYingJiu")
  3. {
  4.    Console.WriteLine("He is not a bad man");
  5. }
  6. else if( name = "ChenShuiBian")
  7. {
  8.    Console.WriteLine("He is a robber");
  9. )
  10. else if
  11. ...
  12. //好的代码 
  13. string difname = "";
  14. if(name = "MaYingJiu")
  15. {
  16.    difname = "He is not a bad man";
  17. }
  18. else if(name = "ChenShuiBian")
  19. {
  20.     difname = "He is a robber";
  21. }
  22. else if
  23. Console.WriteLine(difname);
原创粉丝点击