Effective Go:Names

· · 119 次点击 · · 开始浏览     编辑

简单翻译一下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)” 就不舒服,长名字并不会“自动”增加可读性。 文档注释总是更有价值,对比长名字。(我:这里是说,取 简洁的短名字,写好注释)

(今天先到这里)

本文来自:简书

感谢作者:

查看原文:Effective Go:Names

入群交流(和以上内容无关):加入Go大咖交流群,免费领全套学习资料或添加微信:muxilin131420 备注:入群;或加QQ群:729884609

119 次点击  
加入收藏 微博
暂无回复
添加一条新回复 (您需要 登录 后才能回复 没有账号 ?)
  • 请尽量让自己的回复能够对别人有帮助
  • 支持 Markdown 格式, **粗体**、~~删除线~~、`单行代码`
  • 支持 @ 本站用户;支持表情(输入 : 提示),见 Emoji cheat sheet
  • 图片支持拖拽、截图粘贴等方式上传