带有首字母缩略词的 Java 命名约定

新手上路,请多包涵

以下 Java 类的正确名称是什么: DVDPlayerDvdPlayer

原文由 DD. 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 352
2 个回答

由于看起来答案是在 Java 中没有针对此的单一标准,我想指出 .NET Framework Design Guidelines 确实指定了这一点。

现在,在抨击我偏离主题之前,请记住 Java 和 .NET Framework 的类命名指南非常相似,这使得 .NET 指南可用作有说服力的参考。

通用规则

两个指南都建议仅在首字母缩略词广为人知且易于理解时才使用首字母缩略词。 DVD 或 XML 就是很好的例子,虽然您会立即识别它们,但识别扩展版本需要更长的时间。

缩略语

.NET Framework 指南建议不要使用缩写词(相对于首字母缩略词),除了两个常见的缩写词 IDOK 可以在标识符中使用。使用缩写时,混合大小写 Id 始终使用,除了 camelCase 标识符的第一个单词(与 PascalCase 标识符相反)。

在 Java 中,仅在某些时候遵循此约定。 看看 拼写 getIDgetId 在 JCL 中的混合情况。 (向下滚动该页面的一半)。不过在 Java 8 版本 中, getId 被越来越多地使用,这暗示现在首选 PascalCase 约定。最好尽可能完全避免缩写。

简称

.NET Framework Guidelines 说两个字母的首字母缩略词,如 IO ,两个字母的大小写应该相同。因此,对于 PascalCase 标识符(如类名),您将得到 DBRate ,而对于驼峰标识符(如局部变量),您可能具有 ioChannel

这似乎也是 Java 中的普遍惯例。

长首字母缩略词

.NET Framework 准则建议三个字母或更长的首字母缩略词对 PascalCase 和 camelCase 标识符使用大小写混合,但 camelCase 标识符的第一个单词除外。因此,对于类名,您可能有 XmlDocument ,而局部变量可能被命名为 httpRequest

在 Java 中并不总是遵循此约定。四个字符的首字母缩写词似乎通常使用大小写混合,但即使是 JCL 也对三个字母的首字母缩写词不一致。 Most of them seem to be all uppercase, like URL , XML , SQL , and DOM , but there are some exceptions like Jar

结论

对于Java:

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

对于 3 个字母的首字母缩略词,您可以像 JCL 一样使用全部大写,也可以像 .NET Framework 那样使用混合大小写。无论哪种方式,都要保持一致。

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

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

原文由 Kevin Cathcart 发布,翻译遵循 CC BY-SA 4.0 许可协议

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

因此我更喜欢 DvdPlayer 。它更有帮助,因为在 Eclipse 中,您可以执行 Ctrl + Shift + T 并按每个单词的第一个字母选择类别。

替代文字

原文由 flybywire 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题