关于首字母缩写词的C#命名,如果我正在编写与Windows API相关的库,是否有针对WindowsApi或WindowsAPI的强大约定,或者仅仅是个人喜好?
Answers:
有一个约定,它为所有长度超过2个字符的首字母缩写词指定首字母大写,其余小写。因此HttpContext
和ClientID
。
Krzysztof Cwalina和Brad Abrams撰写的“ Framework Design Guidelines ”第二版第40-42页
3.1.2首字母大写
不要用两个字符的首字母大写两个字符,除了驼峰式标识符的第一个单词。
System.IO
public void StartIO(Stream ioStream)
请勿仅使用三个或更多字符的首字母缩写词的首字母大写,骆驼式标识符的首字母除外。
System.Xml
public void ProcessHtmlTag(string htmlTag)
请勿在驼峰式标识符的开头加上任何首字母缩写的任何字符,无论其长度如何。
查看Microsoft有关命名准则和大写字母约定的官方文档:
要区分标识符中的单词,请大写标识符中每个单词的首字母。不要在标识符中的任何地方使用下划线来区分单词。根据标识符的使用,有两种适当的方式可以大写标识符:
- 帕斯卡套管
- 骆驼衣
的PascalCasing惯例,用于除参数名称的所有标识符,大写每个单词(包括长度超过两个字母缩写词)的第一个字符,如图以下实施例:
PropertyDescriptor
HtmlTag
对于两个字母的首字母缩略词有一种特殊情况,其中两个字母都大写,如以下标识符所示:
IOStream
该驼峰规则惯例,只为参数名称使用的,大写每个字的第一字符,除了第一个字,如图所示在以下实施例。如该示例还显示,以驼峰式标识符开头的两个字母的首字母缩写词均为小写。
propertyDescriptor
ioStream
htmlTag
✓不要对由多个单词组成的所有公共成员,类型和名称空间名称使用PascalCasing。
✓不要使用camelCasing作为参数名称。
旧问题,新答案。
一定要大写两个字符的首字母缩写词,但驼峰式标识符的第一个单词除外。
命名的属性
DBRate
是DB
用作Pascal大小写标识符的首字母缩写词()的示例。命名的参数ioChannel
是IO
用作驼峰式标识符的第一个单词的缩写词()的示例。请勿仅使用三个或更多字符的首字母缩写词的首字母大写,骆驼式标识符的首字母除外。
名为class的类
XmlWriter
是长首字母缩写词的示例,用作Pascal大小写标识符的第一个单词。参数namedhtmlReader
是长首字母缩略词的一个示例,用作驼峰式标识符的第一个单词。在驼峰式标识符的开头,不要大写任何首字母缩写词的字符,无论其长度如何。
参数named
xmlStream
是xml
用作驼峰式标识符的第一个单词的长首字母缩写()的示例。命名的参数dbServerName
是一个简短的首字母缩写词(db
)的示例,该缩写词用作驼峰式标识符的第一个单词。
我听说您应该避免使用缩写词,因此它会变成WindowsApplicationProgrammingInterface
。
更认真的说(尽管下面引用了,但人们似乎还是在误读以上内容),该页面显示:
三个或更多字母的首字母缩写应为Pascal大小写,而不是全部大写。
由于API被认为是众所周知的首字母缩写,因此WindowsApi
如果您想遵循准则,则可以选择该名称。