组合包名称的命名约定

tab*_*bim 9 java naming-conventions package

我想创建一个名为的包form validator.

写作更好吗?

  • form_validator,
  • formValidator 要么
  • formvalidator

我想提一下,我想避免 form.validator.那form-validator是被禁止的.

小智 19

最传统的将是第三个:formvalidator

谷歌的Java风格指南注释:

5.2.1 包名

包名都是小写的,连续的单词简单地连接在一起(没有下划线)。例如,com.example.deepspace、 不com.example.deepSpacecom.example.deep_space

正如@teppic 所说,Oracle Java Docs指出

包名全部小写,以避免与类或接口的名称冲突。


Tim*_*sen 10

从包命名约定的文档:

包名称全部用小写编写,以避免与类或接口的名称冲突

因此,这将为您提供以下两种可能性:

form_validator
formvalidator
Run Code Online (Sandbox Code Playgroud)

实际上,文档还清楚地表明,下划线在包名称中出现时起着特殊的作用:

如果包名称以数字或其他字符开头,这些字符非法用作Java名称的开头,或者包名称包含保留的Java关键字,例如"int"...建议的约定是添加一个下划线.

因此,只有在特殊情况下才建议使用下划线,您的命名问题似乎不会落入其中.所以我建议formvalidator作为包名.

  • “*因此,仅在特殊情况下建议使用下划线*”。即使您可能是对的,但这并不是文档所说的。您引用的 Oracle 文档文本**仅**谈论当域名作为包名称无效时如何创建有效的包名称,但它**不**说也不建议下划线应该**仅**在特殊情况下使用。但@srath 的回答确实说这(没有下方块)是谷歌的一种风格。 (11认同)

Dul*_*sta 8

在 Java 中,包名全部小写。这意味着以下将是最理想的包装名称。

formvalidator
Run Code Online (Sandbox Code Playgroud)

这也是可以接受的。

form_validator 
Run Code Online (Sandbox Code Playgroud)


Raf*_*san 5

包名全部小写,以避免与类或接口的名称冲突。所以

  • form_validator或者
  • formvalidator

详细信息请参见此处