- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
DotNet项目编码规范
1.大小写约定
1.1常见标记法
Camel标记法:首字母是小写的,接下来的单词都以大写字母开头。
Pascal标记法:首字母是大写的,接下来的单词都以大写字母开头。
匈牙利标记法:在以Pascal 标记法的变量前附加一个小写的变量名缩写。
1.2
标识符
大小写方式
示例
类
Pascal
AppDomain
枚举类型
Pascal
ErrorLevel
枚举值
Pascal
FatalError
事件
Pascal
ValueChanged
异常类
Pascal
WebException
只读的静态字段
Pascal
RedValue
接口
Pascal
IDisposable
方法
Pascal
ToString
命名空间
Pascal
System.Drawing
参数
Camel
typeName
属性
Pascal
BackColor
循环迭代变量
全部小写
i,o…
2.命名约定
2.1通用命名约定
选择易读的标识符名称。
例如,英文属性名称 HorizontalAlignment 比 AlignmentHorizontal 更具可读性。
可读性比简洁性更重要。
例如,属性名称 CanScrollHorizontally 比 ScrollableX(指 X 轴,但意义不明确)更好。
不要使用下划线、连字符或任何其他非字母数字字符。
例如,不能使用Is_Enable,Is-Enable,IsEnable9等。
不要使用匈牙利表示法。
例如,不能使用iNum(i表示int)等。
避免使用与常用编程语言的关键字冲突的标识符。
例如,不能使用关键字做标识符。
不要将缩写或缩略形式用作标识符名称的组成部分。除非必要,不要使用任何未被广泛接受的首字母缩写词。
例如,使用 OnButtonClick 而不要使用 OnBtnClick。
对于类型名称,应使用语义上有意义的名称而不要使用语言特定的关键字。
例如,名称 GetLength 比 GetInt 更好。
在标识符的语义含义仅限于其类型的极少数情况下,应使用一般公共语言运行库 (CLR) 类型名称,而不要使用语言特定的名称。
例如,将数据转换为 Int16 的方法应命名为 ToInt16 而不是 ToShort,因为 Short 是 Int16 的语言特定的类型名称。
在标识符没有语义含义且参数的类型不重要的极少数情况下,应使用通用名称(如值或项),而不要重复类型名称。
例如,没有意义的参数可以使用value,item等。
2.2程序集和 DLL 的名称
一定要为程序集 DLL 选择指示大的功能块(如 System.Data)的名称。程序集和 DLL 的名称不必对应于命名空间名称,但是在命名程序集时遵循命名空间名称这种做法是合理的。
考虑按下面的模式命名 DLL:
Company.Component.dll
其中 Component 包含一个或多个以圆点分隔的子句。
例如,Contoso.WebControls.dll。
2.3命名空间的名称
命名空间名称的一般格式如下:
Company.(Product|Technology)[.Feature][.Subnamespace]
例如,Microsoft.WindowsMobile.DirectX。
命名空间的名称应遵守以下约定:
使用公司名称作为命名空间的前缀以防止不同公司开发的命名空间具有相同的名称和前缀。
在命名空间名称的第二级使用稳定的、与版本无关的产品名称。
适当的时候可考虑使用复数命名空间名称。例如,使用 System.Collections 而不使用 System.Collection。但是,品牌名称和首字母缩写词属于此规则的例外情况。例如,使用 System.IO,而不要使用 System.IOs。
命名空间和其中的类型不要使用相同的名称。例如,不要在将“Debug”用作命名空间名称的同时,又在该命名空间中提供一个名为“Debug”的类。有些编译器要求对这种类型进行完全限定。
不要引入宽泛的类型名称,如 Element、Node、Log 和 Message。在通常情况下,这样极可能导致类型名称冲突。应对宽泛的类型名称进行限定(例如 FormElement、XmlNode EventLog、SoapMessage)。
不要指定会与核心命名空间中的任何类型发生冲突的类型名称。例如,不要使用 Directory 作为类型名称,因为这会与 Directory 类型冲突。
2.4类、结构和接口的名称
按照 Pascal 大小写格式,使用名词或名词短语(或偶尔使用形容词短语)为类、接口和值类型命名。
不要为类名加前缀(如字母 C)。
考虑在派生类的末尾使用基类名称
文档评论(0)