Uber Go语言编码规范
Posted TonyBai
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Uber Go语言编码规范相关的知识,希望对你有一定的参考价值。
Uber是世界领先的生活出行服务提供商,也是的早期adopter,根据Uber工程博客的内容,大致可以判断出在Uber内部扮演了十分重要的角色。Uber内部的Go语言工程实践也是硕果累累,有大量Go实现的内部工具被Uber开源到github上,诸如被Gopher圈熟知的zap、jaeger等。2018年年末Uber将内部的Go风格规范开源到github,经过一年的积累和更新,该规范已经初具规模,并受到广大Gopher的关注。本文是该规范的中文版本,并”夹带“了部分笔者的点评,希望对国内Gopher有所帮助。
注:该版本基于commit 3baa2bd翻译,后续不会持续更新。
一. 介绍
样式(style)是支配我们代码的惯例。术语“样式”有点用词不当,因为这些约定涵盖的范围不限于由gofmt替我们处理的源文件格式。
本指南的目的是通过详细描述在Uber编写Go代码的注意事项来管理这种复杂性。这些规则的存在是为了使代码库易于管理,同时仍然允许工程师更有效地使用Go语言功能。
该指南最初由Prashant Varanasi和Simon Newton编写,目的是使一些同事能快速使用Go。多年来,该指南已根据其他人的反馈进行了修改。
本文档记录了我们在Uber遵循的Go代码中的惯用约定。其中许多是Go的通用准则,而其他扩展准则依赖于下面外部的指南:
Effective Go
The Go common mistakes guide
所有代码都应该通过golint和go vet的检查并无错误。我们建议您将编辑器设置为:
保存时运行goimports
运行golint和go vet检查源码
您可以在以下Go编辑器工具支持页面中找到更为详细的信息:https : //github.com/golang/go/wiki/IDEsAndTextEditorPlugins
以上是关于Uber Go语言编码规范的主要内容,如果未能解决你的问题,请参考以下文章