Java首字母缩写命名规范

以下Java类的正确名称是什么: DVDPlayer还是DvdPlayer?< / p >
93678 次浏览

DVDPlayer是标准的,但DvdPlayer并不少见。

你经常会看到getId。这可能是因为认为ID是“Identity”的缩写。其实是身份证件的首字母。

HttpURLConnection通常作为混合约定的例子。然而,“http”作为URL中的协议名应该是小写的(尽管大写通常是可以接受的)。

我在野外看到过它们的使用,Sun似乎倾向于DVDPlayer风格。不过,我更喜欢DvdPlayer,因为这样即使有多个连续的首字母缩写,如HTTPURLConnection,单词的边界也很清楚。

Sun Java文档:

类名应该是名词,在混合大小写的情况下,每个内部单词的第一个字母必须大写。尽量保持类名的简单和描述性。使用完整的单词-避免首字母缩写和缩写(除非缩写比长形式使用得更广泛,如URL或HTML)。

没有“正确的”;的答案。只是一组实践和约定,可以更好地使用您的其他工具。

因此我更喜欢DvdPlayer。它更有用,因为在Eclipse中,你可以执行Ctrl+转变+T,并根据每个单词的首字母选择类。

alt text

我喜欢以以下方式定义类的单个实例:

Catalogue catalogue;
Person person;

因此,如果我使用DVDPlayer,我将如何调用它的实例?dVDPlayer吗?因此,我选择DvdPlayer类名,这样你就可以像dvdPlayer那样命名实例。

一些来自JavaSE类、apache commons和spring的例子:

  • HttpURLConnection
  • HTTPAddress
  • UrlPathHelper
  • AopProxy
  • ISBNValidator

所以,这并不重要。

这里没有“正确”,只有偏好。

Sun在命名包含“URL”和“HTML”的类的方式上是一致的,但我看到HTTP在javadocs中使用全大写和驼峰大小写。

就我个人而言,我更喜欢DvdPlayer。

有效的Java似乎更喜欢DvdPlayer。

正如其他人所指出的,这是不同项目的风格问题。谷歌项目,如Guava和GWT更喜欢DvdPlayer风格。

https://google.github.io/styleguide/javaguide.html#s5.3-camel-case

因为看起来答案是在Java中没有单一的标准,我想指出的是。net框架设计指南确实规定了这一点。

现在,在抨击我跑题之前,请记住Java和. net框架的类命名指南是非常相似的,这使得. net指南作为有说服力的参考非常有用。

一般规则

这两份指南都建议只在缩略语被广泛了解和理解的情况下使用缩略语。DVD或XML就是很好的例子,虽然您可以立即识别它们,但要识别扩展版本则需要稍长的时间。

缩写

. net框架指南建议不要使用缩写(而不是首字母缩写),除了两个常见的缩写IDOK可以用于标识符。当使用缩写时,除了camelCase标识符(相对于PascalCase标识符)的第一个单词外,总是使用混合大小写Id

在Java中,这种约定只在某些时候被遵循。看一看在JCL中拼写getIDgetId是如何混合的。(向下滚动页面)。然而,在Java 8版本中,getId被越来越多地使用,这表明PascalCase约定现在是首选。如果可能的话,最好完全避免使用缩写。

短的缩写

. net框架指南说,像IO这样的两个首字母缩写的字母应该有相同的大小写。所以对于PascalCase标识符(比如类名),你会得到DBRate,而对于camelCase标识符(比如局部变量),你可能会得到ioChannel

这似乎也是Java中流行的约定。

长缩写

. net框架指南建议三个字母或更长的首字母缩写词使用混合大小写作为PascalCase和camelCase标识符,除了camelCase标识符的第一个单词。因此,对于类名,可以使用XmlDocument,而局部变量可以命名为httpRequest

在Java中并不总是遵循这个约定。四个字母的首字母缩略词似乎通常使用混合大小写,但即使是JCL对三个字母的首字母缩略词也不一致。它们中的大多数似乎都是大写的,如URLXMLSQLDOM,但也有一些例外,如Jar

结论

对于Java:

对于4个以上字母的首字母缩写,使用混合大小写。标准库就是这样做的,这很有意义。

对于3个字母的首字母缩写,你可以像JCL一样使用全部大写,或者像. net Framework一样使用混合大小写。无论哪种方式,保持一致。

对于2个字母的首字母缩写,全部使用大写字母。

对于2个字母的缩写,Java并没有真正的标准,但我建议使用混合大小写,除非与其他名称保持一致会使所有大写看起来更好。