【发布时间】:2010-07-28 08:58:05
【问题描述】:
我在一个类中有一个属性“EntityID”。 Resharper (5.1) 说
名称“EntityID”与规则不匹配 “方法、属性和事件”。 建议的名称是“EntityId”。
但是恕我直言,根据Design Guidelines for Class Library Developers 中的命名约定。 'EntityID' 应该没问题:
- 不要使用在计算中不被普遍接受的首字母缩略词 字段。
- 在适当的情况下,使用众所周知的首字母缩略词代替冗长的短语 名字。例如,为用户使用 UI 在线接口和OLAP 分析处理。
- 使用首字母缩略词时,使用 Pascal 大小写或驼峰大小写的首字母缩写词超过 两个字符长。例如,使用 HtmlButton 或 htmlButton。然而,你 应该大写首字母缩略词 仅由两个字符组成,例如 作为 System.IO 而不是 System.Io。
- 不要在标识符或参数名称中使用缩写。如果你 必须使用缩写,使用驼峰式 对于包含更多的缩写 超过两个字符,即使这个 与标准缩写相矛盾 词的含义
*更新:*最新版的指南还说:
双字符首字母缩写词的两个字符都大写,除了 驼峰式标识符的第一个单词。 名为 DBRate 的属性是使用的短首字母缩写词 (DB) 的一个示例 作为帕斯卡大小写的第一个词 标识符。一个名为的参数 ioChannel 是一个简短的例子 首字母缩写词 (IO) 用作 驼峰式标识符。
我是否正确理解了这些准则?如果是这样,我怎样才能让 ReSharper 接受“EntityID”(众所周知的两个字母缩写)但拒绝“HTMLReader”(应该是 HtmlReader)。
【问题讨论】:
-
@Steve 不是,但可以;我在另一个问题中看到有人提到 ID 可以是 Identity Datum 的首字母缩写词,所以它仍然有效。
标签: c# naming-conventions resharper framework-design