2016-02-24 101 views
0

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

举个例子

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

剂量这不违反SPOT(单点真理)的原则?

我在问,因为我确信有一个很好的理由。

这是如何在'GO编程语言'(Alan A. A. Donovan和Brian W. Kernighan)中完成的。它也是在1988年的'The C Programming Language'(Dennis M. Ritchie和Brian W. Kernighan)那样完成的。如果持续了这么长时间,似乎必须有一个很好的理由?

SPOT原理是由Eric S. Raymond在“UNIX编程艺术”中将Kernighan归咎于Kernighan。

+3

它的建议,并在这里讨论:https://golang.org/doc/effective_go.html#commentary – twotwotwo

+0

S /理论/真理/? –

+0

正确。 https://en.wikipedia.org/wiki/Single_source_of_truth – Tobin

回答

3

TL; DR使问题变得更容易。

https://golang.org/doc/effective_go.html#commentary通过@twotwotwo简称报价:

文档注释工作表现最佳,完整的句子,它允许广泛 各种自动演示。第一句话应该是一个 单句总结,以宣布的名字开头。

...

如果名字总是开始评论,godoc的输出可以 用地通过grep的运行。想象一下,你可以不记得名字 “编译”,但在寻找正规表达式 解析功能,让你运行的命令,

$ godoc regexp | grep parse 

如果包 的所有文档注释开始,“这个功能......”,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 $ 
+0

'golint'也可以帮助检查文档样式。 – elithrar