.NET程序员不得不遵守的二十条编码习惯

本文将为大家介绍二十条.NET程序员不得不遵守的.NET编码习惯,希望通过这些.NET编码习惯能让大家的.NET开发工作有事半功倍的效果。

成都创新互联致力于互联网网站建设与网站营销,提供成都网站建设、成都做网站、网站开发、seo优化、网站排名、互联网营销、小程序设计、公众号商城、等建站开发,成都创新互联网站建设策划专家,为不同类型的客户提供良好的互联网应用定制解决方案,帮助客户在新的全球化互联网环境中保持优势。

1、不要硬编string/ numeric,可以使用一些常量代替。 (提高可读性)

 
 
  1. int Count;  
  2. Count = 100;  
  3. private static const int ZERO  =  0;  
  4. if(  Count  ==  ZERO )  
  5. {  
  6. // 执行一些操作  

2、对于字符串比较-使用String. Empty ,而不是""。

3、不要声明成员变量为 public 或者proteted,尽量使用private 成员变量和public/protected 属性。 (修改)

4、当我们要在循环操作字符串,使用StringBuilder,而不是字符串,示例如下。

不好的习惯:

 
 
  1. String  temp = String.Empty;  
  2.  for( int i = 0 ; i<= 100; i++)  
  3.  {  
  4.      temp += i.ToString();  
  5.  } 

好点的习惯:

 
 
  1. StringBuilder sb = new StringBuilder();  
  2. for ( int i = 0 ; i<= 100; i++)  
  3. {  
  4.     sb.Append(i.ToString());  

5、简单的操作,比起Collection更倾向使用Array。 (视情况,这里是建议)

#T#

6、比起ArrayList更倾向使用Generic Collection。 (视情况,这里是建议)

7、比起HashTable更倾向使用Generic Dictionary。 (视情况,这里是建议)

8、对于字符串的操作和存储,倾向于StringCollection和StringDictionary。 (视情况,这里是建议)

9、使用适合的数据类型。

    例如:你想要判断状态,使用bool比int要好。

不好的习惯:

 
 
  1. int Check = 0;  
  2. if( Check == 0 )  
  3. {  
  4.     // 执行一些操作  
  5.  

好点的习惯:

 
 
  1. bool Check = false;  
  2. if(!Check)  
  3. {  
  4.     // 执行一些操作  

10、使用as做类型转换的时候,对转换后的值进行null值判断

 
 
  1. class A  
  2. {  
  3.  
  4. }  
  5. class B : A  
  6. {  
  7.  
  8. }  
  9.  B objB = new B();  
  10.  A objA1  = (A) objB;  
  11.  A objA2 = objB as A;  
  12.  if( objA2 != null)  
  13.  {  
  14.   //执行所需的操作  
  15.  } 

11、创建wcf代理,可以使用using表达式。 (很多地方可以这样使用)

 
 
  1. using(Cerate the proxy)  
  2.  {  
  3.      //执行所需的操作  
  4.  } 

 12、对于昂贵的资源(例如Connection, File 等等),遵照'Acquire late, release early’ (尽量晚的获取,尽量早的释放)准则。

例子:如果你想在数据操作时,使用的SqlConnection对象,请在方法级别,而不是在类级别创建实例。

代码 

 
 
  1. class MyData  
  2.   {  
  3.       public MyData()  
  4.       {  
  5.       }  
  6.       public List GetAllCustomer()  
  7.       {  
  8.          using (SqlConnection objConnection = new SqlConnection("Connection string"))  
  9.          {   
  10.              //执行一些操作得到需要的数据  
  11.          }  
  12.         
  13.       }  
  14.   } 

 如果你想创建的类级别SqlConnection实例,确保您的类实现了IDisposable接口,并在Dispose()中清理SqlConnection实例。

代码 

 
 
  1. class MyData : IDisposable  
  2. {  
  3.     SqlConnection objConnection ;  
  4.     public MyData()  
  5.     {   
  6.         objConnection = new SqlConnection("Connection string");  
  7.     }  
  8.     public List GetAllCustomer()  
  9.     {   
  10.         //通过objConnection得到需要的数据  
  11.     }  
  12.     public void Dispose()  
  13.     {  
  14.         //清理SqlConnection实例  
  15.         if( objConnection != null )  
  16.         {  
  17.             if( objConnection.State == ConnectionState.Open)  
  18.             {      
  19.                objConnection.Close();  
  20.             }  
  21.         }  
  22.     }  

13、如果你不想别人扩展你的类功能,使用‘sealed’。

14、避免为每个类都声明‘destructor’ ,因为它会增加不需要常驻内存的类的生命周期。

15、相对manual threading,更倾向用Thread Pool 。

16、在循环内不要去调用其它方法。 (call function 有性能损耗)

例如:

不好的习惯:

 
 
  1. for( int i = 0; i<= 100; i++)  
  2. {      
  3.    Calculate(i);  
  4. }  
  5.  好点的习惯:  
  6.  
  7. for( int i = 0; i<= 100; i++)  
  8. {  
  9. //直接写Calculate逻辑。  

17、不要在循环内处理异常,而是将循环处理的逻辑放在try/catch里面

不好的习惯:

 
 
  1. for(int i = 0 ; i<= 100; i++)  
  2. {  
  3.    try 
  4.    {  
  5.    }  
  6.    catch(Exception ex)  
  7.    {  
  8.     throw ex;  
  9.    }  

好点的习惯:

 
 
  1. try 
  2. {  
  3.   for(int i = 0 ; i<= 100; i++)  
  4.   {  
  5.   }  
  6. }  
  7. catch(Exception ex)  
  8. {  
  9.     throw ex;  

 18、不用通过异常处理应用程序的逻辑

例如:

不好的习惯:

 
 
  1. try 
  2. {  
  3.   int x,y,z;  
  4.   x = 0;  
  5.   y = 10;  
  6.   z = y/x;  
  7.  }  
  8.  catch(DevideByZeroException ex)  
  9.  {  
  10.   Throw ex;  
  11.  } 

好点的习惯:

 
 
  1. try 
  2.  {  
  3.    int x,y,z;  
  4.    x = 0;  
  5.    y = 10;  
  6.    if( x != 0 )  
  7.    {  
  8.       z = y/x;  
  9.    }  
  10.  }  
  11.  catch(Exception ex)  
  12.  {  
  13.  } 

19、相对for/while  ,倾向使用foreach循环。[更正]

20、使用多层架构的系统,层与层之间的交互,比起DataSet/DataTables更倾向于使用对象传递数据。

当前文章:.NET程序员不得不遵守的二十条编码习惯
文章地址:http://www.shufengxianlan.com/qtweb/news41/127291.html

网站建设、网络推广公司-创新互联,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联