命名约定:动词/名词和英语语法使用指南

任何人都可以指向一个网站,或者给我一些关于如何选择接口,类甚至与该对象或方法有关的方法和属性的名称的智慧?

这是专门针对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