Camel Back 中的首字母缩略词
Posted
技术标签:
【中文标题】Camel Back 中的首字母缩略词【英文标题】:Acronyms in Camel Back 【发布时间】:2010-11-13 16:47:33 【问题描述】:我经常看到类似的 Java 类名
XmlReader
而不是
XMLReader
我的直觉是完全大写的首字母缩略词,但显然许多人的想法不同。或者可能只是因为很多代码生成器在使用首字母缩写词时遇到问题......
所以我想听听公众意见。 包含首字母缩略词的类名如何大写?
【问题讨论】:
Camel case names: How strict? 的可能重复项 【参考方案1】:我们像 Java 和 .NET 一样使用骆驼大小写约定。不是出于代码生成器的原因,而是出于可读性。考虑将两个首字母缩略词组合在一个名称中的情况,例如将 XML 转换为 html 的类。
XMLHTMLConverter
或
XmlHtmlConverter
你更喜欢哪一个?
【讨论】:
这也是 Effective Java 中推荐的方法。 好的,提起布洛赫就可以了。 为什么不是 XML2HTMLConverter?!?!?!?!?!? @RobertoLoGiacco,2 不是一个词。而且该技术将限制该类只能将 XML 转换为 HTML。为什么不只拥有一个双向的 XmlHtmlConverter 类呢?我会使用 HtmlXmlConverter(按字母顺序) 我更喜欢XMLToHTMLConverter
。完全驼峰式,仍然可读,并且更清楚地表示它的作用。即使在英语水平上,只有名词的名字通常也不好。【参考方案2】:
两个原因:
-
更容易区分一个首字母缩略词的结尾和另一个首字母缩写词在标识符中的位置,例如在
XmlHtmlConverter
中。现在 XML 和 HTML 不是很好的例子,因为每个人都知道什么是 XML,什么是 HTML。但有时您会看到不太明显的首字母缩略词,这变得很重要。
Eclipse 非常擅长使用单词及其首字母。对于XmlHtmlConverter
,您可以在“打开类型”对话框中输入XHC
,它会找到它。对于XMLHTMLConverter
,首字母为XMLHTMLC
,当然要长一些。
【讨论】:
+1 主要用于 Eclipse 提示(关于使用首字母)。我用它来自动完成: XHC我发现 XMLReader 更难阅读。原因是你不能轻易分辨单词在哪里分开。我认为应该接受小写的首字母缩写词。您可以使用大写的类定义,但实例变量呢:
XmlReader xmlReader;
这里你无论如何都必须使用小写。
【讨论】:
它仍然是XMLReader xmlReader = new XMLReader();
XML 算作第一个单词,所以你把整个东西去掉大写。【参考方案4】:
对于首字母缩略词,我使用以下规则:
如果首字母缩写词的长度为 2,请将首字母缩写词大写。
For Ex : UIRule
如果首字母缩略词更长,我会使用帕斯卡大小写作为首字母缩略词
For Ex : SmsValidation, XmlReader
【讨论】:
【参考方案5】:Pascal Case 用于 .NET 框架。所以
XmlReader
在 Microsoft 环境中是首选。
我必须同意 AronVanAmmers 的观点,即这比替代方案更容易阅读。
参考:Microsoft Design Guidelines for Class Library Developers
【讨论】:
【参考方案6】:我相信,一般来说,类名应该按照您希望它们被阅读的方式编写。例如,当大声说出类名时,我会说“X-M-L reader”,所以我将类命名为“XMLReader”。但是,我将假设的“REST 服务”类命名为“RestService”,因为一般来说,“REST”的发音不是“R-E-S-T”而是“rest”。对于像“SQL”这样的东西,我可以选择任何一种方式,因为有些人说“S-Q-L”而其他人说“续集”。但这真的取决于个人喜好。
【讨论】:
以上是关于Camel Back 中的首字母缩略词的主要内容,如果未能解决你的问题,请参考以下文章
FxCop:CA1709:使用 Resharper 中的首字母缩略词字典