【问题标题】:Naming conventions of composed package names组合包名称的命名约定
【发布时间】:2018-09-28 04:05:03
【问题描述】:

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

这样写比较好

  • form_validator,
  • formValidator
  • formvalidator?

我想提一下我想避免form.validator。而form-validator禁止

【问题讨论】:

标签: java package naming-conventions


【解决方案1】:

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

formvalidator

这也被接受。

form_validator 

【讨论】:

    【解决方案2】:

    最传统的是第三个:formvalidator

    Google Java Style guide 备注:

    5.2.1 包名称

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

    正如@teppic 所说,Oracle Java Docs 表示

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

    【讨论】:

      【解决方案3】:

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

      • form_validator
      • formvalidator

      详情见here

      【讨论】:

        【解决方案4】:

        来自documentation 包命名约定:

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

        所以这会给你以下两种可能性:

        form_validator
        formvalidator
        

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

        如果包名称以数字或其他非法字符作为 Java 名称的开头,或者包名称包含保留的 Java 关键字,例如“int”...建议的约定是添加下划线。

        因此,仅在特殊情况下才建议使用下划线,而您的命名问题似乎并不属于这种情况。所以我推荐formvalidator作为包名。

        【讨论】:

        • "因此,仅在特殊情况下才建议使用下划线"。尽管您可能是对的,但这不是该文档所说的。您引用的 Oracle 文档文本讨论了当域名作为包名称无效时如何制作有效的包名称,但它确实不是说这两个都不建议在特殊情况下使用下划线。但@srath 的回答确实说这(没有下方)是谷歌的一种风格。
        猜你喜欢
        • 2018-05-31
        • 2013-12-31
        • 2020-11-09
        • 2011-02-12
        • 2011-09-10
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多