包裹名称中应该如何单独使用单词?以下哪一项是正确的?

  1. com.stackoverflow.my_package(Snake Case使用下划线)
  2. com.stackoverflow.my-package(Kebab Case使用连字符)
  3. com.stackoverflow.myPackage(Camel Case)
  4. com.stackoverflow.MyPackage (Pascal Case)

一般标准是什么?

推荐答案

以下是官方命名惯例文件的规定:

包裹

唯一软件包名称的前缀始终以所有小写ASCII字母书写,并且应为顶级域名之一,目前为comedugovmilnetorg,或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域名可能不是有效的包名.以下是处理这些情况的一些建议惯例:

  • 如果域名包含连字符或标识符中不允许使用的任何其他特殊字符,请将其转换为下划线.
  • 如果生成的包名组件中有任何一个是关键字,则在其后面添加下划线.
  • 如果生成的任何包名组件以数字开头,或任何其他不允许作为标识符初始字符的字符开头,则在组件前面加下划线.

工具书类

Java相关问答推荐

ActivityCompat.请求收件箱自动拒绝权限

JPackage-results已安装-如何添加系统属性?

如何计算内循环的时间复杂度?

使用动态ID从json获取详细信息的Jolt规范

无法处理批处理侦听器中的反序列化异常

是否保证在事务性块的末尾标记违反约束?

SpringBootreact 式Web应用程序的Spring Cloud Configer服务器中的资源控制器损坏

扩展到弹出窗口宽度的JavaFX文本字段

如何找到MongoDB文档并进行本地化?

使用Mockito进行的Junit测试失败

如何让JavaFx应用程序识别依赖项?

在Eclipse中调试未导出的JDK模块的Java包

在Java 15应用程序中运行Java脚本和Python代码

Oj算法 MatrixR032从字符串、归一化和余弦相似度计算创建

在Java中将对象&转换为&q;HashMap(&Q)

TinyDB问题,无法解析符号';上下文&

如何利用OpenTelemeter将初始值(零)输出到普罗米修斯

Java中计算大n和k值模10^9+7的二项式系数的乘法公式输出错误值

如何使用Jackson读取以方括号开头的JSON?

窗口启动后不久,从java.awt.Graphics disapear创建的矩形