36

我经常看到 Java 类名像

XmlReader

代替

XMLReader

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

所以我想听听公众的意见。您如何将包含首字母缩写词的类名大写?

4

6 回答 6

52

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

XMLHTMLConverter

或者

XmlHtmlConverter

你更倾向哪个?

于 2009-07-24T11:02:13.973 回答
16

两个原因:

  1. 更容易区分一个首字母缩略词在哪里结束,而另一个首字母缩写词在标识符中开始,它们被放置在彼此之后,例如在XmlHtmlConverter. 现在 XML 和 HTML 不是很好的例子,因为每个人都知道什么是 XML,什么是 HTML。但有时你会看到不太明显的首字母缩略词,然后这变得很重要。
  2. Eclipse 对单词和它们的首字母很聪明。对于XmlHtmlConverter,您可以XHC在“打开类型”对话框中输入,它会找到它。对于 a XMLHTMLConverter,首字母XMLHTMLC当然会更长一些。
于 2009-07-24T11:09:19.387 回答
3

我发现 XMLReader 更难阅读。原因是你不能轻易分辨单词在哪里分开。我认为应该接受小写的首字母缩写词。您可以使用大写的类定义,但实例变量呢:

XmlReader xmlReader;

无论如何,在这里你必须使用小写。

于 2009-07-24T11:02:42.473 回答
3

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

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

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

      For Ex : SmsValidation, XmlReader
    
于 2009-07-24T11:03:39.930 回答
2

Pascal Case 用于 .NET 框架。所以

XmlReader

在 Microsoft 环境中是首选。

我必须同意 AronVanAmmers 的观​​点,即替代方案更容易阅读。

参考: 面向类库开发人员的 Microsoft 设计指南

于 2009-07-24T11:52:21.827 回答
0

我相信,一般来说,类名应该按照你期望它们被阅读的方式编写。例如,当大声说出类名时,我会说“XML reader”,所以我将类命名为“XMLReader”。但是,我将假设的“REST 服务”类命名为“RestService”,因为通常“REST”不发音为“REST”,而是“rest”。对于像“SQL”这样的东西,我可以选择任何一种方式,因为有些人说“SQL”而其他人说“sequel”。但这实际上只是归结为个人喜好。

于 2013-12-04T14:57:39.953 回答