欢迎来到天天文库
浏览记录
ID:18847476
大小:50.00 KB
页数:8页
时间:2018-09-25
《c# 3.0 语言代码编写规范》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、C#3.0语言规范下面是根据FxCop整理的.NET代码编写规范,仅供参考。一、Design(设计)1.Abstracttypesshouldnothaveconstructors抽象类不应该声明构造方法2.Assembliesshouldhavevalidstrongnames程序集应该具有强名称3.Avoidemptyinterfaces避免使用空的接口4.Avoidexcessiveparametersongenerictypes避免在泛型类中使用过多的类型参数5.Avoidnamespaceswithfewtypes避免让名字空间
2、含有过少的类型6.Avoidoutparameters避免使用out类型的参数7.Collectionsshouldimplementgenericinterface集合类应该实现泛型接口8.Considerpassingbasetypesasparameters尽量使用基本类型作为参数9.Declareeventhandlerscorrectly正确的声明事件处理器,事件处理器不应该具有返回值10.Declaretypesinnamespaces应该在名字空间里面定义类型,而不是外面11.Defaultparametersshouldn
3、otbeused不应该使用参数默认值(C#没有参数默认值)12.Defineaccessorsforattributearguments应该为特性(特性)的构造方法参数定义访问器,其名字跟构造方法参数仅首字母大小写不一样13.Donotcatchgeneralexceptiontypes不要捕捉普通的异常(即System.Exception)14.Donotdeclareprotectedmembersinsealedtypes不要在封闭类型中定义受保护的成员15.Donotdeclarestaticmembersongenerictyp
4、es不要在泛型类型中使用静态成员16.Donotdeclarevirtualmembersinsealedtypes不要在封闭类型中定义虚成员17.Donotdeclarevisibleinstancefields不要定义可见的(public/internal)实例域变量18.Donotexposegenericlists不要直接暴露范型表19.Donothidebaseclassmethods不要隐藏(使用或者不使用new)基类的方法20.Donotnestgenerictypesinmembersignatures不要在成员的签名(参
5、数或者返回值)中嵌套泛型类21.Donotoverrideoperatorequalsonreferencetypes不要在引用类型中重载==操作符22.Donotpasstypesbyreference不要使用引用(reforout)传递类型23.EnumStorageshouldbeInt32枚举应该是Int32类型的24.Enumeratorsshouldbestronglytyped枚举器应该是强类型的25.Enumsshouldhavezerovalue枚举应该具有0值26.Genericmethodsshouldprovide
6、typeparameter泛型类的方法应该提供类型参数27.ICollectionimplementationshavestronglytypedmembers集合接口的实现中应该使用强类型的成员28.Implementstandardexceptionconstructors自定义的异常应该实现异常类的四个标准构造方法29.Indexersshouldnotbemultidimensional索引不应该是多维的30.Interfacemethodsshouldbecallablebychildtypes接口方法应该可以被子类调用31.L
7、istsarestronglytyped表应该是强类型的32.Markassemblieswithassemblyversion用程序集版本标示程序集33.MarkassemblieswithCLSCompliant使用CLSCompliant特性标示程序集34.MarkassemblieswithComVisible使用System.Runtime.InteropServices.ComVisibleAttribute特性标示程序集35.MarkattributeswithAttributeUsageAttribute使用Attribu
8、teUsageAttribute特性标示特性类36.MarkenumswithFlagsAttribute含有组合的枚举应该使用FlagsAttribute特性标示,相反则不应该37.Memb
此文档下载收益归作者所有