- 在.Net编码规范中不推荐使用匈牙利方法来命名变量,变量和方法参数使用Camel大小写形式,常量往往全部使用大写字母声明,并且多个单词之间用"_"隔开。
Pascal大小写形式-所有单词第一个字母大写,其他字母小写。
Camel大小写形式-除了第一个单词,所有单词第一个字母大写,其他字母小写。
- 变量声明过于随意化,避免使用dataRow0/dataRow1/dataRow2这样的命名方式。并且,在块的开始处,不要总是在第一次使用它们的地方做声明,建议同时就对其初始化。
- 不要把成员变量声明为 public 或 protected,都声明为 private 而使用 public/protected 的Properties,微软推荐。
- 用与属性的基础类型相同的名称创建属性,直观一目了然。
-
-
- public Color BackGroundColor
- {
- // Code for Get and Set accessors goes here.
- }
-
-
滥用异常,捕获异常后不进行任何操作,这样的异常处理不必要,通常.net framwork会自动抛出。
-
-
- try
- {
- //your code
- }
- catch
- {
- throw;
- }
-
-
-
-
- //不需要判断dataTable.Rows.Count>0
- if(dataTable != null && dataTable.Rows.Count>0)
- {
- foreach(DataRow row in dataTable.Rows)
- {
- //your code
- }
- }
-
应使用逆序循环删除DataTable中的DataRow。
-
- //错误:
- for(int i=0;i<dataTable.Rows.Count;i++)
- {
- dataTable.Rows.RemoveAt(i);
- }
- //正确:
- for(int i= dataTable.Rows.Count-1;i>=0;i--)
- {
- dataTable.Rows.RemoveAt(i);
- }
- //或者:
- for(int i=0;i<dataTable.Rows.Count;i++)
- {
- dataTable.Rows[i].Delete();
- }
- 当方法的参数有多种可能时,避免多次调用同一方法,应该对参数分别进行处理,方法调用时只调一次。
- //不好的代码
- if(name = "MaYingJiu")
- {
- Console.WriteLine("He is not a bad man");
- }
- else if( name = "ChenShuiBian")
- {
- Console.WriteLine("He is a robber");
- )
- else if
- ...
- //好的代码
- string difname = "";
- if(name = "MaYingJiu")
- {
- difname = "He is not a bad man";
- }
- else if(name = "ChenShuiBian")
- {
- difname = "He is a robber";
- }
- else if
- …
- Console.WriteLine(difname);