命名约定:动词/名词和英语语法使用指南
任何人都可以指向一个网站,或者给我一些关于如何选择接口,类甚至与该对象或方法有关的方法和属性的名称的智慧?
这是专门针对Microsoft开发的,因此Java-esque“doGet”等并没有真正使用,但是跨越语言障碍的一些通用规则必须(我会想到)存在。
一个例子可能会有所帮助:我有4个接口名称选择:
IGroupedItem IGroupableItem IDataEntity IGroupedEntity
它们都包含形容词和名词,或者只是名词。 看看.NET框架,为了保持一致性,似乎必须有某种规则集? 除了明显的方法动词。
编辑:虽然这个例子是一个接口,但我并不仅限于接口。 一般准则是类是名词,方法动词,属性名词。 我想我的意思是选择同义词。 将“实体”扔到处都是错的
查看MSDN文章中的命名准则。 简而言之:
- 使用名词作为类名和属性名(很明显)
- 对于接口名称,从I开始并使用名词和/或形容词来描述行为
- 使用动词表示方法名称来描述操作
对于您的示例 – IGroupableItem。
接口是类能够做的事情。 不是它是什么,而是它能做什么 。
IGroupableItem
其他名称描述了什么事情或者过于模糊而无用。
具体而言,“IDataEntity”在很大程度上毫无意义。 毕竟,一切都是数据实体。
MSDN上有一篇关于接口命名指南的文章可能对您有所帮助。 如果你想要接口以外的东西的命名约定,以及许多其他的命名和设计指南,你也可以在MSDN上找到所有这些。
这与Spodi的答案相同,但MSDN的类库开发人员设计指南非常出色,涵盖了命名等等。
Joel Spolsky有一篇很好的文章让错误的代码看错了。 它讲述了不那么受欢迎但非常方便的命名约定。
除了MSDN指南之外,还有来自IDesign的Juval Lowy的C#编码标准文档非常有帮助(不知道这与MSDN有多少差异)。
C#编码标准
试试这个….
主站点: http : //www.ssw.com.au/ssw/standards/Default.aspx
代码规则: http : //www.ssw.com.au/ssw/Standards/Rules/RulestoBetterCode.aspx