20条.net编码习惯.doc_第1页
20条.net编码习惯.doc_第2页
20条.net编码习惯.doc_第3页
20条.net编码习惯.doc_第4页
免费预览已结束,剩余1页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、不要硬编string/ numeric,可以使用一些常量代替。 (提高可读性)intCount;Count=100;privatestaticconstintZERO=0;if(Count=ZERO)/执行一些操作2、对于字符串比较-使用String. Empty ,而不是。3、不要声明成员变量为public 或者proteted,尽量使用private 成员变量和public/protected 属性。 (修改)4、当我们要在循环操作字符串,使用StringBuilder,而不是字符串,示例如下。不好的习惯:Stringtemp=String.Empty;for(inti=0;i=100;i+)temp+=i.ToString();好点的习惯:StringBuildersb=newStringBuilder();for(inti=0;i=100;i+)sb.Append(i.ToString();5、简单的操作,比起Collection更倾向使用Array。 (视情况,这里是建议)6、比起ArrayList更倾向使用Generic Collection。 (视情况,这里是建议)7、比起HashTable更倾向使用Generic Dictionary。 (视情况,这里是建议)8、对于字符串的操作和存储,倾向于StringCollection和StringDictionary。 (视情况,这里是建议)9、使用适合的数据类型。 例如:你想要判断状态,使用bool比int要好。不好的习惯: intCheck=0;if(Check=0)/执行一些操作好点的习惯:boolCheck=false;if(!Check)/执行一些操作10、使用as做类型转换的时候,对转换后的值进行null值判断classAclassB:ABobjB=newB();AobjA1=(A)objB;AobjA2=objBasA;if(objA2!=null)/执行所需的操作11、创建wcf代理,可以使用using表达式。 (很多地方可以这样使用)using(Ceratetheproxy)/执行所需的操作12、对于昂贵的资源(例如Connection, File 等等),遵照Acquire late, release early (尽量晚的获取,尽量早的释放)准则。例子:如果你想在数据操作时,使用的SqlConnection对象,请在方法级别,而不是在类级别创建实例。代码 classMyDatapublicMyData()publicListGetAllCustomer()using(SqlConnectionobjConnection=newSqlConnection(Connectionstring)/执行一些操作得到需要的数据如果你想创建的类级别SqlConnection实例,确保您的类实现了IDisposable接口,并在Dispose()中清理SqlConnection实例。代码 classMyData:IDisposableSqlConnectionobjConnection;publicMyData()objConnection=newSqlConnection(Connectionstring);publicListGetAllCustomer()/通过objConnection得到需要的数据publicvoidDispose()/清理SqlConnection实例if(objConnection!=null)if(objConnection.State=ConnectionState.Open)objConnection.Close();13、如果你不想别人扩展你的类功能,使用sealed。14、避免为每个类都声明destructor ,因为它会增加不需要常驻内存的类的生命周期。15、相对manual threading,更倾向用Thread Pool 。16、在循环内不要去调用其它方法。 (call function 有性能损耗)例如:不好的习惯:for(inti=0;i=100;i+) Calculate(i);好点的习惯:for(inti=0;i=100;i+)/直接写Calculate逻辑。17、不要在循环内处理异常,而是将循环处理的逻辑放在try/catch里面不好的习惯:for(inti=0;i=100;i+) try catch(Exceptionex) throwex; 好点的习惯: try for(inti=0;i=100;i+) catch(Exceptionex) throwex; 18、不用通过异常处理应用程序的逻辑例如:不好的习惯: try intx,y,z; x=0; y=10; z=y/x; catch(DevideByZeroExceptionex) Throwex;好点的习惯:try intx,y,z; x=0; y=10; if(x!=0) z=y

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论