【问题标题】:package convention for main() method`s Java classmain() 方法的 Java 类的包约定
【发布时间】:2013-03-15 07:45:52
【问题描述】:

我正在构建一个独立的 Java 应用程序。

在那,我必须使用带有main() 方法的类。由于这是所有执行开始的类,我通常放在包结构之一中

com.<company-name>.<project-name>.init
com.<company-name>.<project-name>.main
com.<company-name>.<project-name>.server
com.<company-name>.<project-name>.initializer

我的问题是,

  • 上面的包名是否有意义?如果没有,有什么建议吗?
  • 这个命名有标准吗?

【问题讨论】:

  • 看起来非常好。

标签: java naming-conventions packages


【解决方案1】:

当我创建一个带有主类的项目时,我通常将它放在应用程序“com.acmeglobal.killerapplication”的最顶层包中,并给它一个简单的名称,如“App”、“Main”或“Start”。

我尽量让我的主班尽可能小;它只引导应用程序。如果对应用程序参数的解析有点不重要,我什至会为此创建一个单独的类。

在您建议的包名中,我更喜欢“main”,然后是“init”或“initialization”,尽管我认为初始化不应该是主类的关注点。名为“服务器”的包对我来说似乎具有误导性,因为它表明还有一个客户端,我认为您不是有意的。

【讨论】:

    【解决方案2】:

    上面的包名是否有意义?如果不是那么 有什么建议吗?

    我认为这是有道理的。如果您的 main 仅包含 Main 类,则合并 main 和 init 对我来说也很好。

    这个命名有标准吗?

    没有。

    【讨论】:

      【解决方案3】:

      您建议的软件包看起来不错,但为了彻底起见,它们应该以相反的域名作为前缀。因此,如果公司Acme 的域为www.acmeglobal.com,则它们的包结构将以com.acmeglobal 为前缀,而不是com.acme

      遵守此标准可降低开发人员创建冲突类的可能性。

      【讨论】:

        【解决方案4】:

        定义包结构供您自己使用。如果您将代码放置在适当的包结构中,那么它将有助于将来的维护并提高可读性。

        【讨论】:

          猜你喜欢
          • 2012-03-09
          • 1970-01-01
          • 1970-01-01
          • 2013-11-11
          • 2014-04-21
          • 1970-01-01
          • 2013-04-15
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多