以下Java类的正确名称是什么:
DVDPlayer
或DvdPlayer
?
DvdPlayer
。
以下Java类的正确名称是什么:
DVDPlayer
或DvdPlayer
?
DvdPlayer
。
Answers:
由于看起来答案是Java中没有针对此的单一标准,因此我想指出,.NET Framework设计指南确实指定了这一点。
现在,在抨击我成为话题之前,请记住Java和.NET Framework的类命名准则非常相似,这使.NET准则可用作说服力的参考。
两种准则都建议仅在首字母缩写广为人知且易于理解时使用首字母缩写。DVD或XML就是很好的例子,因为您将立即识别出它们,但是识别扩展版本会花费一些时间。
《 .NET Framework指南》建议不要使用缩写(与首字母缩写相反),除非标识符中可以使用两个常见的缩写“ ID”和“ OK”。使用缩写时,Id
除camelCase标识符(与PascalCase标识符相反)的第一个单词外,始终使用混合大小写。
在Java中,仅在某些时间遵循此约定。看看 JCL中的拼写getID
和混合情况如何getId
。(滚动到该页面的中途)。但是,在Java 8版本中,getId
它的使用越来越多,这表明PascalCase约定是当今的首选。最好在可能的情况下完全避免缩写。
.NET Framework指南指出,两个字母首字母缩写词(如“ IO”)对于两个字母应具有相同的大小写。因此,对于PascalCase标识符(如类名),您可能会得到DBRate
,而对于camelCase标识符(如本地变量),您可能会有ioChannel
。
这显然也似乎是Java中普遍使用的约定。
.NET Framework指南建议PascalCase和camelCase标识符使用首字母缩略词三个字母或更长时间使用混合大小写,但camelCase标识符的第一个单词除外。因此,对于一个类名,您可能会拥有XmlDocument
一个局部变量httpRequest
。
Java中并不总是遵循此约定。四个字符的首字母缩略词似乎确实经常使用大小写混合,但是即使是JCL,三个字母的首字母缩略词也不一致。它们中的大多数似乎都是大写的,例如“ URL”,“ XML”,“ SQL”和“ DOM”,但也有一些例外,例如“ Jar”。
对于Java:
对于4个以上字母的首字母缩写词,请使用大小写混合形式。标准库可以做到这一点,这很有意义。
对于3个字母的首字母缩写词,可以像JCL一样使用所有大写字母,也可以像.NET Framework一样使用混合大小写。无论哪种方式,都要保持一致。
对于2个字母的首字母缩写词,请全部使用大写字母。
对于2个字母的缩写,Java确实没有标准,但是我建议使用大小写混合,除非与其他名称保持一致会使所有大写字母看起来更好。
IpAddress
很多人来说看起来很糟糕。就我个人而言,当我需要编写Java代码时,我会使用混合大小写的3个字母的首字母缩写词,仅保留两个字母作为特例。
没有“正确”的答案。只是一组可以更好地与其他工具配合使用的惯例和约定。
因此我更喜欢DvdPlayer
。这是更有益,因为在Eclipse中,你可以做Ctrl+ Shift+ T和每个单词的第一个字母挑班。
我已经看到它们都在野外使用,Sun似乎很喜欢这种DVDPlayer
风格。DvdPlayer
不过,我更喜欢,因为那样可以清楚地知道单词边界在哪里,即使有多个连续的首字母缩写词也是如此HTTPURLConnection
。
我喜欢以以下方式定义类的各个实例:
Catalogue catalogue;
Person person;
因此,如果使用DVDPlayer
,我将如何称呼它的实例?dVDPlayer
?因此,我将选择DvdPlayer
类名,以便可以将实例命名为dvdPlayer
。
DVDPlayer dvdPlayer;
?
dvdPlayer
,回去时都会得到DvdPlayer
。
DvdPlayer -> dvd_player
但是DVDPlayer -> d_v_d_player
。无法自动将DVDPlayer转换为dvd_player。
getDvdPlayer()
效果要好于。而且,如果您要在缩写词中使用小写字母命名吸气剂,则最好保持类名相同,以保持一致性和可预测性。getDVDPlayer()
foo.dvdPlayer
JavaSE类,Apache Commons和Spring中的一些示例:
HttpURLConnection
HTTPAddress
UrlPathHelper
AopProxy
ISBNValidator
所以-没关系。
SRS
于SoftwareRequirementSpecification
?
正如其他人指出的那样,它的风格在不同项目中有所不同。Guava和GWT等Google项目更喜欢这种DvdPlayer
样式。
https://google.github.io/styleguide/javaguide.html#s5.3-camel-case
DvdPlayer
:风格google-styleguide.googlecode.com/svn/trunk/...
DVDPlayer
是标准,但DvdPlayer
并不少见。
您更多的时候看不到getId
。这可能是由于认为ID是“ Identity”的缩写。它实际上是身份证明文件的缩写。
HttpURLConnection
通常以混合约定为例。但是,URL中用作协议名称的“ http”应为小写(尽管通常接受大写)。
这里没有“正确”,只有首选项。
Sun在命名包含“ URL”和“ HTML”的类的方式上是一致的,但是在Javadocs中,我看到HTTP同时使用了所有大写字母和驼峰式大小写。
就个人而言,我更喜欢DvdPlayer。
DigitalVersatileDiscPlayer
是前进的道路。