通用Java包名称

时间:2011-02-01 22:48:06

标签: java naming-conventions packages

当我创建一个只有一个或两个java / class文件且不与其他程序共享的独立Java程序时,我从不花时间在程序包名称中说org.domain.scripts.purpose。我通常只是制作我的主要课程main.Main

也许这是违反协议的,但是当复制程序以填补另一个小的利基要求(比如将分隔符转换为csv或递归列出按修改日期排序的文件)时,我将不会重命名包名称或当我已经知道我在做什么节目时,要经历漫长的包名和路径。

当没有唯一的包名时,小的泛型类(如Base64转换)更容易从一个程序复制到另一个程序。

那么,什么是标准通用包名称(或者有一个)

编辑:我想我会继续提及更多原因。当文件具有相同的包名时,更容易区分文件或查看它们是否相同。此外,当我需要包含库时,我会创建一个包含java -cp library:jarfile而不是java -jar的使用说明,并且cp选项要求我设置主类名称,因此我希望将其缩短太。此外,堆栈跟踪看起来更好。

5 个答案:

答案 0 :(得分:5)

没有标准的通用包名称。但是,有一个命名约定来命名包:

  • 包名称全部写入 小写,以避免与 类或接口的名称。
  • 公司使用他们的反向互联网 域名开始他们的包 名称 - 例如,com.example.orion 对于由。创建的名为orion的包 example.com上的程序员。

参考文献:

答案 1 :(得分:1)

“foo”是我经常看到用于此目的的。

答案 2 :(得分:1)

对于您列出的较长软件包名称的一些问题,即使从一个项目复制到另一个项目,大多数IDE也会为您处理所有这些问题。

答案 3 :(得分:0)

只要您不使用另一个类似的懒惰开发人员编写的代码,这可能没问题:-)猜猜如果编译器在默认包中找到两个名为Base64的类,会发生什么......

使用正确的包名称是为了避免名称冲突。大多数现代IDE都可以轻松地将类迁移到不同的包中,因此我不认为这是一个问题。但是,一旦出现名称冲突,如果您需要返回并在100个旧项目中迁移该类,则会出现问题。或者当你不这样做时它会成为一个问题,然后你需要在类的所有不同版本中修复一个错误......

因此,如果您为自己编写代码,最简单的选择是将其放入package net.georgebailey。然后,常规实用程序可以进入net.georgebailey.util

答案 4 :(得分:0)

我认为最接近“标准通用”软件包名称的是默认软件包(如果你愿意,可以是no-package)。当然这是不好的做法,但我知道我们谈论的是微小的实验,而不是生产代码。

但是,默认包的一个主要缺点(除了仅缺少命名空间)是您无法从命名包中导入默认包中的类。

因此,对于您的实验,如果您只想要单段包名称,请选择适合您的任何内容:testpkgmain(如您所述)或其他任何内容。 ..