Go 注释中的函数名

Go 注释中的函数名,go,Go,为什么Go程序员将函数名作为函数注释的第一个单词?这是一个技术问题,请不要是宗教问题 例如 // addOptions adds options s to opt func addOptions(s string, opt interface{}) (string, error) { .... 这是否违反了SPOT(单点真理)原则 我这样问是因为我确信有一个很好的理由 这就是“围棋编程语言”(Alan A.A.Donovan和Brian W.Kernighan)的实现方式。早在1988年,“C

为什么Go程序员将函数名作为函数注释的第一个单词?这是一个技术问题,请不要是宗教问题

例如

// addOptions adds options s to opt
func addOptions(s string, opt interface{}) (string, error) {
....
这是否违反了SPOT(单点真理)原则

我这样问是因为我确信有一个很好的理由

这就是“围棋编程语言”(Alan A.A.Donovan和Brian W.Kernighan)的实现方式。早在1988年,“C编程语言”(Dennis M.Ritchie和Brian W.Kernighan)也是这样做的。如果它持续了这么长时间,似乎一定有一个很好的理由


SPOT原则是由Eric S.Raymond在《UNIX编程的艺术》中的Kernighan提出的。

TL;博士,这使格雷普更容易

引用@TwoTwo引用的内容:

文档注释最适合作为完整的句子,它允许广泛的 各种自动演示文稿。第一句应该是a 以所声明的名称开头的一句话摘要

如果名称始终以注释开头,则godoc的输出可以 通过grep运行是有用的。想象一下你记不起名字了 “Compile”,但我们正在寻找正则表达式的解析函数 表达式,所以您运行了命令

如果包中的所有文档注释 “这个函数…”开始时,grep不会帮你记住这个名字。 但是由于包以名称开始每个文档注释,因此 看到这样的东西,它会让你想起你要找的词


TL;博士,这使格雷普更容易

引用@TwoTwo引用的内容:

文档注释最适合作为完整的句子,它允许广泛的 各种自动演示文稿。第一句应该是a 以所声明的名称开头的一句话摘要

如果名称始终以注释开头,则godoc的输出可以 通过grep运行是有用的。想象一下你记不起名字了 “Compile”,但我们正在寻找正则表达式的解析函数 表达式,所以您运行了命令

如果包中的所有文档注释 “这个函数…”开始时,grep不会帮你记住这个名字。 但是由于包以名称开始每个文档注释,因此 看到这样的东西,它会让你想起你要找的词


这里推荐并讨论:正确。这里推荐并讨论:正确
golint
还可以帮助检查文档样式。
golint
还可以帮助检查文档样式。
$ godoc regexp | grep parse
$ godoc regexp | grep parse
    Compile parses a regular expression and returns, if successful, a Regexp
    parsed. It simplifies safe initialization of global variables holding
    cannot be parsed. It simplifies safe initialization of global variables $