评论

时间:2016-02-24 00:56:37

标签: go

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

作为一个例子

// addOptions adds options s to opt
func addOptions(s string, opt interface{}) (string, error) {
....

这不违反SPOT(单点真相)原则吗?

我在问,因为我确信这是有充分理由的。

这就是“GO程序设计语言”中的完成方式。 (Alan A. A. Donovan和Brian W. Kernighan)。它也是在“C编程语言”中完成的。 (Dennis M. Ritchie和Brian W. Kernighan)早在1988年。如果它持续了这么长时间似乎必须有一个很好的理由吗?

SPOT原则归功于Eric S. Raymond在“UNIX编程艺术”中的Kernighan。

1 个答案:

答案 0 :(得分:4)

TL; DR使得grepping更容易。

引自@twotwotwo引用的https://golang.org/doc/effective_go.html#commentary

  

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

     

...

     

如果名称始终开始评论,则godoc的输出可以   有用的是通过grep运行。想象一下,你无法记住这个名字   "编译"但正在寻找常规的解析功能   表达式,所以你运行命令,

$ godoc regexp | grep parse
  

如果包中的所有文档注释   开始了,#34;这个功能......",grep不会帮助你记住这个名字。   但是因为软件包以名称开始每个文档评论,你就是这样   看到这样的东西,它回忆起你正在寻找的词。

$ 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 $