欢迎来到天天文库
浏览记录
ID:42385827
大小:485.71 KB
页数:25页
时间:2019-09-14
《C#编码规范及命名规范》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、山东锋士自动化系统有限公司C#编码规范指导规则和最佳实践Version1.0董毅2010/4/26第一条编码的风格和细节要求编码风格至少在单一文件中缩进和风格要保持一致,同一行中内容不要太长,最好不要大于10个单词。不要随意地或者以容易混淆作用域嵌套关系的方式放置括号,要尽量遵循每个文件屮已经使用的体例。命名约定和规范1.不要使用晦涩的名称,起名要简单易懂a.避免使用单字母做变量名,比如:i或者to应使用index或者temp进行替代b.不要缩写单词,比如用num代替number2.使用全大写字
2、母表示宏,常量,如:LIKE.THIS3.类,函数和枚举的名称的单词首字母大写,如:LikeThispublicclassSomoClass{constintDefaultSize=100;publicvoidSomeMethod(){)}4.变量的首字母小写,其他单词首字母大写,女U:likeThisvoidMyMethod(intsomeNumber){intnumber;}5.接口的第一个字母用I开头interfaceIMylnterface{...)6.私有成员变量以rn开头,剩余内容遵
3、从首字母大写的规范publicclassSomeClass{privateintm_Number;}7.属性类以Attribute做后缀,异常类以Exception做后缀8.命名方法以【动词】・【目标】组成,比如:ShowDialog()9.拥有返冋值的方法应该以返冋值描述其方法名,比如:GetObjectState()10.总是使用C#的预定义类型,而不是System命名空间中的别名,比如:object而不是Objectstring而不是Stringint而不是Int321.对于基类,类型描述
4、采用大写字母。当处理.NET中的类型时才保留后缀Type〃正确publicclassLinkedList{}〃避免publicclassLikedList{)2.使用有意义的名字空I'可,比如项目名称或者公司名称3.避免使用类的全称,而是使Musing语句进行引用4.避免在命名空间内使用using语句5.将所有framework命名空间吗放在一起,后面放自定义或第三方的命名空间名usingSystem;usingSystem.Collections
5、;usingSystem.ComponentModel:usingSystem.Data;usingMyCompciny;usingMyControls;6.采用委托推断,不要显式实例化委托delegatevoidSomeDelegate();publicvoidSomeMethod(){}SomeDelegaltesomeDelegate=SomeMethod;7.缩进至少在同一文件中要保持统一风格,注释缩进和其注释的代码在同一层次8.所有注释要经过认真检查,不要有不明语义或者错别字9.所有成
6、员变量应该定义在前面,和屈性或方法间空开一行publicclassMyClass{intmNumber;stringmName;publicvoidSomeMethod1(){}publicvoidSomeMethod2(){}}10.局部变量的定义尽可能靠近它的初次使用11.文件名应该体现其包含的类12.当使用partial类型且每部分分配一个文件时,以类名+逻辑部分的方式来命名文件//MyClass.cspublicpartialclassMyClass{}//MyClass・Designe
7、r・cspublicpartialclassMyClass{}1.做大括号总是放在新行中2.匿名方法模仿普通方法布局,但是大括号要和委托声明对其delegatevoidSomeDelcgate(stringsomeString):〃正确voidInvokeMethodO{SomeDelegaltesomeDelegate=delegate(stringname){MessageBox・Show(name);};someDelegateCjuval");}〃错误voidTnvokeMethodO{
8、SomeDelegtilesomeDelegate二delegate(stringntime){MesstigeBox・Show(name);};someDelegateCzJuval,z);}3.没有参数的匿名方法使用空括号,仅当匿名方法被用于任何委托时才可以省略括号delegatevoidSomeDelegate0://正确SomeDelegatesomeDelegatel=delegate(){MessageBox.Show("IIello");};//错误SomeDelegatesome
此文档下载收益归作者所有