C# 以参数开头的首字母缩略词的大小写

C# 以参数开头的首字母缩略词的大小写,c#,naming-conventions,code-formatting,C#,Naming Conventions,Code Formatting,我有一个变量,指示UI可以空闲的时间长度。我已选择调用此变量UITimer。我想将变量传递到我的类构造函数中,然后将其存储在本地字段中 什么是正确的方法来做这个外壳?我们使用参数不大写的通用约定。因此,我应该这样做: uITimer 还是这个 uiTimer 此外,我们对字段使用下划线和小写首字母 应该这样宣布: private int _uITimer 还是像这样 private int _uiTimer? 我认为_uiTimer是一条路要走(另一个选择似乎站不住脚),但我有兴趣看

我有一个变量,指示UI可以空闲的时间长度。我已选择调用此变量
UITimer
。我想将变量传递到我的类构造函数中,然后将其存储在本地字段中

什么是正确的方法来做这个外壳?我们使用参数不大写的通用约定。因此,我应该这样做:

uITimer
还是这个

uiTimer
此外,我们对字段使用下划线和小写首字母

应该这样宣布:

 private int _uITimer
还是像这样

 private int _uiTimer?
我认为_uiTimer是一条路要走(另一个选择似乎站不住脚),但我有兴趣看看我是否遗漏了什么

最好的答案是链接到一个文档,上面说C#naming(或类似的名称)中的首字母缩略词应保持大小写相同。

Microsoft的框架设计指南对此主题有以下说明:


3.1.2首字母缩略词大写

DO将两个字符首字母缩略词的两个字符都大写,驼峰式大小写标识符的第一个单词除外

不要仅将首字母缩略词的第一个字符大写为三个或三个以上的字符,驼峰大小写标识符的第一个单词除外

不要将任何首字母缩略词的任何字符大写,无论其长度如何,都不要在驼峰式大小写标识符的开头


你基本上问过这三条规则中的最后一条


我个人也会选择
uiTimer
,因为
uiTimer
看起来不太可读。

您会将这些规则应用于首字母缩写词B2B或A2Z吗?第二条规则可能适用于这种情况,但B2b或A2z看起来非常有用odd@Andronicus,我相信正是在这种情况下,上述准则的例外情况才会悄然出现。如果后面没有其他内容,我可能会写
B2B
,但后面有其他内容时,我可能会写
B2B
,例如
B2bFoo
(为了使单词边界易于识别)。但我不确定微软自己不确定如何资本化的另一个好例子是
ID
ID
System.IO
public void StartIO(Stream ioStream)
System.Xml
public void ProcessHtmlTag(string htmlTag)