C#编程好习惯

C#编程好习惯

ID:37511383

大小:56.50 KB

页数:12页

时间:2019-05-24

C#编程好习惯_第1页
C#编程好习惯_第2页
C#编程好习惯_第3页
C#编程好习惯_第4页
C#编程好习惯_第5页
资源描述:

《C#编程好习惯》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、C#编码好习惯,献给所有热爱c#的同仁收藏1.避免将多个类放在一个文件里面。2.一个文件应该只有一个命名空间,避免将多个命名空间放在同一个文件里面。3.一个文件最好不要超过500行的代码(不包括机器产生的代码)。4.一个方法的代码长度最好不要超过25行。5.避免方法中有超过5个参数的情况。使用结构来传递多个参数。6.每行代码不要超过80个字符。7.不要手工的修改机器产生的代码。a)如果需要编辑机器产生的代码,编辑格式和风格要符合该编码标准。b)Usepartialclasseswheneverpossibletofactoroutthemaintainedportions.8.避免利

2、用注释解释显而易见的代码。a)代码应该可以自解释。好的代码由可读的变量和方法命名因此不需要注释。9.Documentonlyoperationalassumptions,algorithminsightsandsoon.10.避免使用方法级的文档。a)使用扩展的API文档说明之。b)只有在该方法需要被其他的开发者使用的时候才使用方法级的注释。(在C#中就是///)11.不要硬编码数字的值,总是使用构造函数设定其值。12.只有是自然结构才能直接使用const,比如一个星期的天数。13.避免在只读的变量上使用const。如果想实现只读,可以直接使用readonly。publicclass

3、MyClass{publicreadonlyintNumber;publicMyClass(intsomeValue){Number=someValue;}publicconstintDaysInWeek=7;}14.每个假设必须使用Assert检查a)平均每15行要有一次检查(Assert)usingSystem.Diagnostics;objectGetObject(){…}objectobj=GetObject();Debug.Assert(obj!=null);15.代码的每一行都应该通过白盒方式的测试。16.只抛出已经显示处理的异常。17.在捕获(catch)语句的抛出异常

4、子句中(throw),总是抛出原始异常维护原始错误的堆栈分配。catch(Exceptionexception){MessageBox.Show(exception.Message);throw;//和throwexception一样。}18.避免方法的返回值是错误代码。19.尽量避免定义自定义异常类。20.当需要定义自定义的异常时:a)自定义异常要继承于ApplicationException。b)提供自定义的序列化功能。21.避免在单个程序集里使用多个Main方法。22.只对外公布必要的操作,其他的则为internal。23.Avoidfriendassemblies,asiti

5、ncreasesinter-assemblycoupling.24.Avoidcodethatreliesonanassemblyrunningfromaparticularlocation.25.使应用程序集尽量为最小化代码(EXE客户程序)。使用类库来替换包含的商务逻辑。26.避免给枚举变量提供显式的值。//正确方法publicenumColor{Red,Green,Blue}//避免publicenumColor{Red=1,Green=2,Blue=3}27.避免指定特殊类型的枚举变量。//避免publicenumColor:long{Red,Green,Blue}28.即使

6、if语句只有一句,也要将if语句的内容用大括号扩起来。29.避免使用trinary条件操作符。30.避免在条件语句中调用返回bool值的函数。可以使用局部变量并检查这些局部变量。boolIsEverythingOK(){…}//避免if(IsEverythingOK()){…}//替换方案boolok=IsEverythingOK();if(ok){…}31.总是使用基于0开始的数组。32.在循环中总是显式的初始化引用类型的数组。publicclassMyClass{}MyClass[]array=newMyClass[100];for(intindex=0;index

7、Length;index++){array[index]=newMyClass();}33.不要提供public和protected的成员变量,使用属性代替他们。34.避免在继承中使用new而使用override替换。35.在不是sealed的类中总是将public和protected的方法标记成virtual的。36.除非使用interop(COM+或其他的dll)代码否则不要使用不安全的代码(unsafecode)。37.避免显示的转换,使用as操作符

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。