包裹名称中应该如何单独使用单词?以下哪一项是正确的?
-
com.stackoverflow.my_package
(Snake Case
使用下划线) -
com.stackoverflow.my-package
(Kebab Case
使用连字符) -
com.stackoverflow.myPackage
(Camel Case
) -
com.stackoverflow.MyPackage
(Pascal Case
)
一般标准是什么?
包裹名称中应该如何单独使用单词?以下哪一项是正确的?
com.stackoverflow.my_package
(Snake Case
使用下划线)com.stackoverflow.my-package
(Kebab Case
使用连字符)com.stackoverflow.myPackage
(Camel Case
)com.stackoverflow.MyPackage
(Pascal Case
)一般标准是什么?
以下是官方命名惯例文件的规定:
包裹
唯一软件包名称的前缀始终以所有小写ASCII字母书写,并且应为顶级域名之一,目前为
com
、edu
、gov
、mil
、net
、org
,或ISO标准3166(1981)中规定的标识国家的英文双字母代码之一.包名称的后续组件根据组织自身的内部命名约定而有所不同.这样的约定可能会指定某些目录名称组件是部门名、部门名、项目名、机器名或登录名.
例子
com.sun.eng
com.apple.quicktime.v2
edu.cmu.cs.bovik.cheese
请特别注意,上面的文档没有指定顶级域前缀之后的任何内容.JLS也同意这一点,给出了以下示例:
com.sun.sunsoft.DOE
gov.whitehouse.socks.mousefinder
com.JavaSoft.jag.Oak
org.npr.pledge.driver
个uk.ac.city.rugby.game
以下摘录也与此相关:
在某些情况下,internet域名可能不是有效的包名.以下是处理这些情况的一些建议惯例:
- 如果域名包含连字符或标识符中不允许使用的任何其他特殊字符,请将其转换为下划线.
- 如果生成的包名组件中有任何一个是关键字,则在其后面添加下划线.
- 如果生成的任何包名组件以数字开头,或任何其他不允许作为标识符初始字符的字符开头,则在组件前面加下划线.