我正在尝试清理R#6.1为我的类生成的警告,而ReSharper报告的问题之一是我对变量的大写不正确。例如,我有var RECDLeft = new RECD();
,它建议我将其更改为var recdLeft = new RECD()
,尽管它是列表中定义的首字母缩略词。我已经手动将RECD首字母缩略词添加到首字母缩略词列表中,因为它并没有要求我在快速修复菜单中添加它。我注意到如果我调用变量`var aRECDLeft'它会正确识别首字母缩略词。是否有一个原因在变量名称的开头不能识别首字母缩略词?有没有办法让R#识别这种用法,除了将首字母缩略词移到第二个单词?
谢谢, 马克史密斯
答案 0 :(得分:4)
在回答您的第一个问题时,我猜R#正试图符合微软C# conventions的首字母缩略词:
将两个字符缩写词的两个字符大写,除了驼峰标识符的第一个单词。
名为DBRate
的属性是用作Pascal标识符的第一个单词的简短首字母缩写词(DB)的示例。名为ioChannel
的参数是用作驼峰标识符的第一个单词的简短首字母缩写词(IO)的示例。
请仅使用三个或更多字符的缩写词的第一个字符大写,除了驼峰标识符的第一个单词。
名为XmlWriter
的类是用作Pascal标识符的第一个单词的长首字母缩写的示例。名为htmlReader
的参数是用作驼峰标识符的第一个单词的长首字母缩写的示例。
在骆驼标识符的开头,不要将任何首字母缩略词的任何字符大写,无论其长度如何。
名为xmlStream
的参数是用作驼峰标识符的第一个单词的长首字母缩写词(xml)的示例。名为dbServerName
的参数是用作驼峰标识符的第一个单词的简短首字母缩写词(db)的示例。
答案 1 :(得分:2)
我猜测问题是虽然添加了首字母缩略词,但你仍然违反了变量名以小写字母开头的规则。您需要为变量名添加一个特殊规则,允许它们以该首字母缩略词开头。这与在列表中添加首字母缩略词不同。
答案 2 :(得分:2)
正如siride正确指出的那样,这是一个特殊的命名案例,需要为除了默认规则之外检查的局部变量引入一个特殊的命名规则。这是你应该做的:
如果您有其他类似的缩写,则应为每个缩写添加一个额外的局部变量命名规则(已知缩写的完整列表可在 C#命名样式&gt;高级设置&gt;缩写为纯文本< / em>。)这不是很方便,但并不是你有一个简单的命名标准)
希望这有帮助。