18

谁能给我指点一个站点,或者给我一些关于如何为接口、类甚至可能与该对象或方法的作用相关的方法和属性选择名称的智慧?

这是专门针对 Microsoft 开发的,因此 Java 风格的“doGet”等并没有真正使用,但是必须存在一些跨越语言障碍的通用规则(我会认为)。

一个例子可能会有所帮助:我有 4 种接口名称可供选择:

IGroupedItem
IGroupableItem
IDataEntity
IGroupedEntity

它们都包含一个形容词和一个名词,或者只是一个名词。看看 .NET 框架,似乎必须为此制定某种规则集,以保持一致性?除了方法的明显动词。

编辑:虽然该示例是一个接口,但我并不仅限于接口。一般准则是类是名词、方法动词、属性名词。我想我的意思是同义词的选择。到处都是错误的“实体”

4

8 回答 8

21

查看MSDN 文章以了解命名准则。简而言之:

  • 对类名和属性名使用名词(很明显)
  • 对于接口名称,以 I 开头并使用名词和/或形容词来描述行为
  • 使用动词作为方法名称来描述动作

对于您的示例 - IGroupableItem。

于 2009-01-05T11:37:48.707 回答
9

接口是类能够做的事情。不是它什么,而是它能做什么

IGroupableItem

其他名称描述了事物是什么或太模糊而无用。

具体来说,“IDataEntity”在很大程度上没有意义。毕竟,一切都是数据实体。

于 2009-01-05T11:21:28.147 回答
4

MSDN 有一篇关于接口命名指南的文章,可以帮助您。如果您想要接口以外的东西的命名约定,以及许多其他命名和设计指南,您也可以在 MSDN 上找到所有内容。

于 2009-01-05T11:20:46.073 回答
1

这与 Spodi 的答案相同,但 MSDN 的类库开发人员设计指南大多非常出色,涵盖了命名等等。

于 2009-01-05T11:38:30.000 回答
1

Joel Spolsky有一篇很好的文章 Making Wrong Code Look Wrong 。它讲述了不那么流行但非常方便的命名约定。

于 2009-01-05T11:49:39.040 回答
1

除了 MSDN 指南之外,还有来自Juval Lowy 的IDesign的 C# Coding Standards 文档非常有帮助(不知道这与 MSDN 是否/有多大不同)。

C# 编码标准

于 2009-01-05T11:53:40.047 回答
0

对于功能(等)名称中的动词,通常使用动词的原始形式,例如Handle, ExecuteQuery, or IsAny, ...

动词的一些不太常见的用法使它与s/es, like ProducesResponseType( MS Docs ) 单数。

于 2020-08-02T19:21:02.117 回答
-1

试试这个....

主站点:http
://www.ssw.com.au/ssw/standards/Default.aspx 代码规则:http ://www.ssw.com.au/ssw/Standards/Rules/RulestoBetterCode.aspx

于 2009-01-05T11:49:40.057 回答