【发布时间】:2011-01-08 16:16:42
【问题描述】:
包org和com在Java中的含义是什么?
【问题讨论】:
包org和com在Java中的含义是什么?
【问题讨论】:
根据Sun,包的命名空间应与您的域名相反,然后是您认为合适的名称。大多数公司或组织都有.com 或.org 域名,因此大多数软件包以com. 或org. 开头。引用Sun Code Conventions:
唯一包名的前缀总是用全小写的ASCII字母写的,应该是顶级域名之一,目前是com、edu、gov、mil、net、org,或者是英文两个之一- 标识 ISO 标准 3166, 1981 中规定的国家/地区的字母代码。
软件包名称的后续组成部分根据组织自己的内部命名约定而有所不同。这样的约定可能会指定某些目录名称组件是部门、部门、项目、机器或登录名。
他们提供的示例清楚地表明您应该使用公司的 DNS 名称:
com.sun.engp>
com.apple.quicktime.v2
edu.cmu.cs.bovik.cheese
您还会看到edu. 和net. 打包出in the wild,尽管它们不太常见。
【讨论】:
me.username 的建议,但我不确定这是最好的还是唯一的标准。
您还可以将包名称视为反向的 Internet 域名(这在现实世界中通常也是如此,例如,参见与 http://commons.apache.org 相关的 org.apache.commons)。 com (commercial) 和 org (organization) 在这里,然后实际上是 Top Level Domain 名称。
包名称通常只是为了识别您所面对的代码的制造商/供应商。
【讨论】:
公司命名包时通常使用com,com 后跟公司名称。例如,您在 JVM 中有 com.sun 包。
org 包前缀主要用于非营利组织或开源代码,如 apache、w3c 等。
【讨论】:
包命名见Oracle doc
请参阅Naming Conventions 了解类/接口/注释/等标准命名
包名和类标准语法:
. . .
example1:(这里是域:-
“stackoverflow.com”,项目:- “测试”)
com.stackoverfllow.test.handler.TestHandler
示例 2:(此处域:-“www.google.co.in”,项目:-“我的项目”)
in.co.google.myproj.controller.MainController
但对于 java.*、javax.*、sun.* 等保留域,您应该 从 oracle 社区获得许可
【讨论】:
域名倒序
反向域名表示法(或反向 DNS)是编程语言、系统或框架使用的组件、包、类型或文件名的命名约定。反向 DNS 字符串基于注册的域名,为了分组目的,组件的顺序颠倒了。例如,如果制造产品“MyProduct”的公司的域名为 example.com,他们可以使用反向 DNS 字符串 com.example.MyProduct 作为该产品的标识符。反向 DNS 名称是消除命名空间冲突的一种简单方法,因为任何域名对其注册所有者都是全局唯一的。
命名包 随着世界各地的程序员使用 Java 编程语言编写类和接口,很可能许多程序员会为不同的类型使用相同的名称。事实上,前面的例子就是这样做的:当已经有一个 Rectangle 类时,它定义了一个
除非两个独立的程序员为他们的包使用相同的名称,否则这很有效。是什么阻止了这个问题?公约。
命名约定
您找到联系包所有者的方法,向他们发送消息,讨论转移它的最佳方式,每个人都赢了! []
https://www.scientecheasy.com/2020/06/packages-in-java.html/
What is the convention for word separator in Java package names?
https://en.wikipedia.org/wiki/Reverse_domain_name_notation#:~:text=Reverse%20domain%20name%20notation%20(或,components%20reversed%20for%20grouping%20 purpose http://www.wellnwill.com/tutorial/core-java/package/package-convention
https://docs.oracle.com/javase/tutorial/java/package/namingpkgs.html
https://medium.com/@aretecode/package-names-gifting-hoarding-9b63ac203d33
【讨论】: