缩略语Camel Back

时间:2009-07-24 10:56:13

标签: java naming-conventions camelcasing

我经常看到像

这样的Java类名
XmlReader

而不是

XMLReader

我的直觉是完全是大写的缩略语,但显然很多人都有不同的看法。或许这只是因为许多代码生成器在使用首字母缩略词时遇到了麻烦......

所以我想听听民意。 如何将包含首字母缩略词的类名称大写?

6 个答案:

答案 0 :(得分:52)

我们使用像Java和.NET这样的驼峰案例约定。不是出于代码生成器的原因,而是出于可读性。考虑在一个名称中组合两个首字母缩略词的情况,例如将XML转换为HTML的类。

XMLHTMLConverter

XmlHtmlConverter

您更喜欢哪一个?

答案 1 :(得分:15)

有两个原因:

  1. 更容易区分一个首字母缩略词的结束位置,另一个首字母缩写词在彼此相邻的标识符中开始,例如在XmlHtmlConverter中。现在XML和HTML并不是很好的例子,因为每个人都知道XML是什么,以及HTML是什么。但有时你会看到不那么明显的首字母缩略词,然后这变得很重要。
  2. Eclipse很聪明,有文字和首字母。对于XmlHtmlConverter,您可以在“打开类型”对话框中键入XHC,它就会找到它。对于XMLHTMLConverter,首字母缩写为XMLHTMLC,当然要长一些。

答案 2 :(得分:3)

我发现XMLReader更难以阅读。原因是你不能轻易分辨出单词的分隔位置。我认为应该接受小写的首字母缩略词。您可以将大写用于类定义,但实例变量如何:

XmlReader xmlReader;

无论如何你必须使用小写。

答案 3 :(得分:3)

对于首字母缩略词,我使用以下规则:

  • 如果首字母缩写为长度为2,则将首字母缩写词设为大写。

      For Ex : UIRule
    
  • 如果首字母缩略词的长度更长,我使用pascal大小写作为首字母缩略词

      For Ex : SmsValidation, XmlReader
    

答案 4 :(得分:2)

Pascal Case用于.NET框架。所以

  

XmlReader

在Microsoft环境中是首选。

我必须同意AronVanAmmers的说法,这更容易阅读替代方案。

参考:Microsoft Design Guidelines for Class Library Developers

答案 5 :(得分:0)

我认为,一般来说,类名应该按照您希望的方式编写。例如,当大声说出类名时,我会说“X-M-L reader”,所以我将该类命名为“XMLReader”。但是,我会将一个假设的“REST服务”类命名为“RestService”,因为一般来说,“REST”不是发音为“R-E-S-T”而是“休息”。对于像“SQL”这样的东西,我可以去任何一种方式,因为有些人说“S-Q-L”而其他人说“续集”。但这实际上只取决于个人偏好。