【问题标题】:How do you name a multi-term package in golang?在 golang 中如何命名一个多术语包?
【发布时间】:2018-11-23 08:13:21
【问题描述】:

go 包的命名约定有据可查,golang.org's blog 声明:

好的包名称要简短明了。它们是小写字母,没有下划线或混合大写字母。它们通常是简单的名词,例如[descriptions removed]:时间、列表、http

同一指南还提供了两个坏名的例子:

以下是两个名称示例,它们在其他语言中可能是不错的风格,但在 Go 中不太适合:computeServiceClient、priority_queue

指南没有说明的是,当您的包裹具有非常特定的用途,但实际上不适合作为单字名词时该怎么办。

我们有一个名为 Rhino Horn 的库,内部用于查找意外泄露的凭据。由于运行 Rhino Horn 占用资源的原因,我被指示在 golang 中为 Rhino Horn 编写一个主管,以监控其性能并在需要时快速关闭。 Rhino Horn 不是用 go 编写的,是一个完全独立的项目。

golang 命名约定让我将 Rhino Horn Supervisor 命名为什么?

【问题讨论】:

  • 我可能会使用包名rhinohorn 和/或supervisor。或者可能是包rhinohorn 内名为Supervisor 的类型。你真的需要在代码结构中引用犀牛角吗?也许应用程序可以只监控东西并配置为监控 Rhino Horn,但我意识到这可能并不容易,具体取决于您的实际部署情况。
  • 我认为你应该只使用 rhino_horn_supervisor。随心所欲地编写代码,不要让一些愚蠢的指导方针限制你的想法。 MixedCaps 可能存在文件名不区分大小写的 os 错误。我认为您应该避免在文件名中使用大写字母。

标签: go naming-conventions


【解决方案1】:

我认为有很多很多的选择。其中一些是:

  • 如果您的项目只专注于监管 rhino horn,您可以将项目命名为 rhino-horn-supervisor 并且不打包任何内容,只需包含平面顶级文件 main.gohornoutput.go 或 w/e
  • 如果监督 rhino horn 是大型应用程序的一个组件,则可能有很多设置,其中之一可能是 supervisors 包和 rhino horn 是单个文件及其实现
  • 还有子包的可能性,supervisors/rhinohorn
  • 你也可以用supervisor.go 文件制作一个rhinohorn 包:P

【讨论】:

    猜你喜欢
    • 2011-01-15
    • 1970-01-01
    • 1970-01-01
    • 2011-08-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-03-12
    • 2015-05-24
    相关资源
    最近更新 更多