【问题标题】:Idiomatic way of documenting a Golang program, consisting of one main.go file记录 Golang 程序的惯用方式,由一个 main.go 文件组成
【发布时间】:2017-09-24 02:17:58
【问题描述】:

我编写了一个 Go 工具,它可以读取文件并根据输入生成输出。它由一个 main.go 文件组成。为了使用 godoc(或者只是习惯用法),我在哪里记录该工具的功能?

// Should I explain it here?
package main

// Or here?
func main() {
    // code!
}

// Or somewhere else?

【问题讨论】:

  • 你可能想看看下面关于它的文章blog.golang.org/godoc-documenting-go-code。它完美地解释了准备 Godoc 的惯用方式
  • 是的,我读过它,但它只是关于包和导出的函数。这里我有主包,没有导出函数。
  • 那么你很可能也读过那篇文章godoc.org/golang.org/x/tools/cmd/godoc。基本上,当您想查看此包/功能的文档时,您将像在任何其他包上一样运行“godoc main”,对吗?因此,由于它也是一个包,因此所有惯用方式也适用于此。
  • godoc 旨在记录 Go 库 API;由于您无法导入 main,因此从该角度来看, main 包中没有任何内容值得记录。如果您想记录该工具的作用,README.md 之类的可能是更好、更惯用的解决方案。

标签: go documentation idioms godoc


【解决方案1】:

要记录 godoc 或 pkg.go.dev 的命令,请在包注释中编写命令文档。

// Command foo does bar.
package main

func main() {
   // code!
}

有关示例,请参阅 comment in stringer.gothe stringer documentation

默认情况下,godoc 和 pkg.go.dev 将所有其他 doc cmets 隐藏在一个名为“main”的包中。

【讨论】:

猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-03-28
  • 1970-01-01
  • 1970-01-01
  • 2022-11-23
  • 2012-06-05
相关资源
最近更新 更多