1

我正在尝试使用 maven 原型将我们现有的一些架构迁移到 OLP。包名应该是什么样的命名约定?我们正在讨论它应该是“com.here.hdlm.protobuf.schema”还是“com.here.schema.hdlm.protobuf”。或者我们甚至应该从名称中跳过 protobuf。

谢谢。

4

2 回答 2

0

您绝对应该使用将项目名称放在反向互联网域名和公司名称之后的约定,https: //docs.oracle.com/javase/tutorial/java/package/namingpkgs.html,即“com.here.hdlm "

至于是“protobuf.schema”、“schema.protobuf”还是跳过protobuf,由你决定。

作为附加参考 - https://developer.here.com/olp/documentation/data-user-guide/portal/schemas-creating.html

于 2018-08-06T16:07:19.480 回答
-1

HERE 工件服务仅托管 Protobuf 模式。我建议不要在名称中使用“protobuf”和“schema”这两个词,因为它是隐含的,会使包名称更长。

Protobuf Schema 发布文档有一个与命名相关的部分:https ://developer.here.com/olp/documentation/archetypes/dev_guide/topics/archetypes-best-practices.html

这是该部分的内容:

包命名

在生成模式项目的阶段,系统会提示您为模式定义组 ID、工件 ID 和包名称。如果您不指定任何包名称,则使用组 ID。

将架构上传到 OLP 后,组 ID 和工件 ID 用于生成架构的 HERE 资源名称 (HRN)。例如,HMC Building Footprints 模式的 HRN 是 hrn:here:schema:::com.here.schema.rib:building-footprints_v2:2.13.0。

包名用于 protobuf、Java 和 Scala 包名。

对于组 ID,请使用您公司的反向域名,例如 com.here.schema.rib。

对于工件 ID,请使用特定于项目中打包的模式类型的名称,例如 building-footprints。尽量使工件 ID 尽可能短。

此外,请确保您的架构的主要版本包含在您的包名称中。例如,版本 2.3 应该将 v2 作为其包名的一部分,例如:com.here.platform.schema.foo.v2。包名称中主要版本的存在由包验证器中的主要版本额外验证。

我们建议遵循 Java 包命名约定。

于 2019-08-03T16:08:20.870 回答