简单翻译一下https://golang.org/doc/effective_go.html
Names /命名
Golang的命名和其他语言一样,很重要。大写开头的命名将直接可以被外部读取,我们应该花一些时间来聊一聊在golang语言里面如何起名字。
Package name/包 命名
bytes.Buffer 是一个很好的例子,大家可以用来做个例子.根据一些约定,包(package)会被使用小写,单一单词命名。不需要使用 "_" 或者 “mixedCaps” 之类的命名。另外,不要担心包名会与其他包名重名,包(package)在import的时候,是可以被重命名的. (我:举个例子 import logger "xxx/log").
另外一个公约是关于 包名 与源代码文件夹(directory)的一致。例如 "encoding/base64". 不应起名为"encoding_base64" 或者“encodingBase64”.
package 名字应该与想要暴露出来的内容一致,应避免使用 "."。 例如 bufio.Reader 是非常清晰的。当想要一个实例(new instance)应直接使用New,例如 ring.Ring. Ring是ring下面唯一的type,所以应该使用 ring.New 而不是ring.NewRing.
另一个short name的例子是 once.Do; onece.Do(steup) 读起来很舒适(我:你懂的,大牛说舒服)。而“once.DoOrWaitUntilDone(steup)” 就不舒服,长名字并不会“自动”增加可读性。 文档注释总是更有价值,对比长名字。(我:这里是说,取 简洁的短名字,写好注释)
(今天先到这里)
有疑问加站长微信联系(非本文作者)