27

我在一个类中有一个属性“EntityID”。Resharper (5.1) 说

名称“EntityID”与规则“方法、属性和事件”不匹配。建议的名称是“EntityId”。

但恕我直言,根据类库开发人员设计指南中的命名约定。'EntityID' 应该没问题:

  • 不要使用计算领域不普遍接受的首字母缩略词。
  • 在适当的情况下,使用众所周知的首字母缩略词来代替冗长的短语名称。例如,将 UI 用于用户界面,将 OLAP 用于在线分析处理。
  • 使用首字母缩略词时,对于长度超过两个字符的首字母缩略词,请使用 Pascal 大小写或驼峰大小写。例如,使用 HtmlButton 或 htmlButton。但是,您应该将仅包含两个字符的首字母缩略词大写,例如 System.IO 而不是 System.Io。
  • 不要在标识符或参数名称中使用缩写。如果您必须使用缩写,对包含两个以上字符的缩写使用驼峰式大小写,即使这与单词的标准缩写相矛盾

*更新:*最新版本的指南还说:

务必将双字符首字母缩写词的两个字符大写,但驼峰式标识符的第一个单词除外。 名为 DBRate 的属性是用作 Pascal 大小写标识符的第一个单词的短首字母缩写词 (DB) 的一个示例。名为 ioChannel 的参数是一个短首字母缩写词 (IO) 的示例,用作驼峰式标识符的第一个单词。

我是否正确理解指南?如果是这样,我怎样才能让 ReSharper 接受“EntityID”(众所周知的两个字母缩写)但拒绝“HTMLReader”(应该是 HtmlReader)。

4

4 回答 4

48

如果您希望 ReSharper 将“ID”作为“Identity”的有效缩写,则只需选择属性,按“Alt-Enter”,然后从 ReSharper 上下文菜单中选择“将“ID”添加到缩写列表中”。

于 2010-07-28T09:14:27.267 回答
24

你想坚持框架设计指南的建议,还是无论如何都想使用大写ID

最新版本的指南是这样说的:

可以在标识符中使用的两个缩写是IDOK。在 Pascal 大小写标识符中,它们应该显示为Id, 和Ok. 如果用作驼峰式标识符中的第一个单词,它们应该分别显示为idok

所以看起来 ReSharper 在Id.

出于兴趣,ReSharper 还建议两个字符首字母缩写词遵循相同的大小写规则。这与指导方针不一致:“双字符首字母缩略词的两个字符都大写,除了驼峰式标识符的第一个单词。”

于 2010-07-28T09:15:37.193 回答
10

最简单的解决方案是进入 ReSharper 选项,在“C# 命名样式”选项卡下,确保选中“覆盖常用设置”,然后双击“方法、属性和事件”。单击“添加”以添加一个新的并将其设置为“UpperCamelCase”,名称后缀为“ID”。

根据需要添加其他后缀。

您也可以使用“C# 命名样式”页面上的“高级设置...”按钮来执行此操作,这为您提供了更多的灵活性,但我不会为此烦恼...

于 2010-07-28T09:04:50.367 回答
5

“将'ID'添加到缩写列表”怎么样??

于 2010-07-28T09:12:54.477 回答