我在类中有一个属性“EntityID”。 Resharper(5.1)说
名称'EntityID'与规则不匹配 '方法,属性和事件'。 建议的名称是'EntityId'。
但恕我直言根据Design Guidelines for Class Library Developers中的命名惯例。 'EntityID'应该非常好:
- 请勿使用计算中通常不接受的首字母缩略词 字段。
- 在适当的地方,使用众所周知的首字母缩略词来替换冗长的短语 名。例如,使用UI for User 用于在线的接口和OLAP 分析处理。
- 使用首字母缩略词时,请使用Pascal case或camel case作为首字母缩略词 两个字符长。例如,使用 HtmlButton或htmlButton。但是,你 应该把首字母缩略词大写 仅由两个字符组成,例如 作为System.IO而不是System.Io。
- 请勿在标识符或参数名称中使用缩写。如果你 必须使用缩写,使用驼峰案例 用于包含更多的缩写 超过两个字符,即使这样 与标准缩写相矛盾
一词
*更新:* 最新版本的指南也说:
将两个字符缩略语的两个字符大写,除了 骆驼标识符的第一个字。 名为DBRate的属性是使用的简短首字母缩写词(DB)的示例 作为帕斯卡尔的第一个词 标识符。一个名为的参数 ioChannel是一个简短的例子 首字母缩写词(IO)用作第一个词 一个骆驼标识符。
我是否正确理解指南?如果是这样,我怎么能让ReSharper接受“EntityID”(众所周知的两个字母的缩写)但拒绝“HTMLReader”(它应该是HtmlReader)。
答案 0 :(得分:43)
如果您希望ReSharper将“ID”作为“Identity”的有效缩写,则只需选择属性,按“Alt-Enter”,然后从ReSharper上下文中选择“将ID添加到缩写列表” - 菜单。
答案 1 :(得分:21)
您是否希望坚持框架设计指南的建议,或者您是否想要使用大写ID
?
latest version of the guidelines有这样说:
可以使用的两个缩写 标识符为
ID
和OK
。在 他们应该使用Pascal标识符 显示为Id
和Ok
。如果用作 骆驼套的第一个字 标识符,它们应显示为id
和ok
分别。
在Id
的情况下,似乎ReSharper是正确的。
出于兴趣,ReSharper还建议两个字符的首字母缩略词遵循相同的套管规则。这与指南不一致:“将两个字符缩写词的两个字符大写,除了驼峰标识符的第一个单词。”
答案 2 :(得分:8)
最简单的解决方案是进入ReSharper选项,在“C#命名样式”选项卡下,确保选中“覆盖常用设置”,然后双击“方法,属性和事件”。单击“添加”以添加新的,并将其设置为“UpperCamelCase”,其名称后缀为“ID”。
根据需要添加其他后缀。
您也可以使用“C#命名样式”页面上的“高级设置...”按钮进行操作,这样可以提供更多灵活性,但我不会为此烦恼...
答案 3 :(得分:5)
如何将“ID”添加到缩写列表“??