可能重复:
what is the convention for word separator in java package names?
我想知道包名称是否包含多个单词的代码汇编。例如。包名com.dreamcom.objectInterfaces
。骆驼的情况适合这种情况吗?
答案 0 :(得分:13)
来自Java package naming conventions @维基百科(重点补充):
通常使用分层命名模式定义包 层次结构中的级别由句点(。)分隔(发音为“点”)。 虽然通常会引用命名层次结构中较低的包 作为相应包的“子包”更高的 层次结构,包之间几乎没有语义关系。 Java语言规范建立了包命名约定 避免两个已发布的包具有相同的可能性 名称。命名约定描述了如何创建唯一包 名称,以便广泛分发的包具有唯一性 命名空间。这使得包装可以单独,轻松地进行 自动安装和编目。
通常,包名称以顶级域名开头 组织,然后组织的域,然后任何 子域名,以相反顺序列出。然后组织可以选择 其包装的特定名称。 包名称应全部小写 尽可能使用字符。
例如,如果加拿大的一个名为MySoft的组织创建了一个 用于处理分数的包,命名包
ca.mysoft.fractions
将分数包与另一个类似的包区分开来 由另一家公司创建。如果一家名为MySoft的德国公司也是 创建一个分数包,但将其命名为de.mysoft.fractions
,然后 这两个包中的类是以独特的方式定义的 命名空间。用于消除包名称和规则的歧义的完整约定 无法直接使用Internet域名时命名包 作为包名称在Java语言的7.7节中描述 说明书
答案 1 :(得分:1)
惯例是在整个过程中使用小写。
JLS here.
中提供了更多信息答案 2 :(得分:1)
Camel-casing软件包名称不是我喜欢的。如果包名中有多个单词,请考虑以下内容:
“com.dreamcom.interfaces”不够好吗?
“com.dreamcom.object.interfaces”会起作用吗?
如果没有,那么宁愿考虑“com.dreamcom.objectinterfaces”而不是骆驼套管。
原因是包名称镜像主机操作系统上的目录。在Linux上,“com.dreamcom.objectInterfaces”和“com.dreamcom.objectinterfaces”是截然不同的,而在Windows上它们是相同的。