main()方法的Java类的包约定

时间:2013-03-15 07:45:53

标签: java naming-conventions packages

我正在构建一个独立的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

我的问题是,

    为了给定的目的,
  • 是否超出包名称有意义?如果不是那么任何建议?
  • 是否有标准命名?

4 个答案:

答案 0 :(得分:5)

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

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

在您建议的软件包名称中,我更喜欢'main',在'init'或'initialization'之后,尽管我认为初始化不应该是主类的关注点。名为“服务器”的软件包对我来说似乎有误导性,因为它表明还有一个客户端,我认为你并不打算这样做。

答案 1 :(得分:2)

  

以上包装名称是否有意义?如果不是那么   有什么建议吗?

我觉得这很有道理。如果main只包含Main类,那么合并main和init对我来说也没问题。

  

是否有标准命名?

没有

答案 2 :(得分:0)

您建议的软件包看起来很好,但为了彻底,它们应该反过来以域名为前缀。因此,如果公司Acme具有域www.acmeglobal.com,则其包结构将以com.acmeglobal而非com.acme为前缀。

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

答案 3 :(得分:0)

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