Uber开放公司内部《Go语言风格指南》

Uber近日开放了其公司内部使用的《Go语言风格指南》。

Uber介绍,“风格”也就是支配我们代码的惯例,该指南出现在Uber公司内部是为了使代码库易于管理,同时让工程师有效地使用Go语言特性。

文档中详细描述了在Uber编写Go代码的注意事项,具体列出来的是“Dos and Don'ts of writing Go code at Uber”,也就是不该怎样写,而应该怎样写Go代码。

其中许多约定是Go的通用准则,而其它准则则参考了外部资源:

Effective Go

The Go common mistakes guide

指南涵盖了“指导方针”、“性能”、“风格”与“模式”几个大模块,下设各项具体的注意事项:

以“Defer to Clean Up(使用defer清理)”小节为例,该指南这样描述:

使用defer清理资源,例如文件和锁。

Bad

p.Lock()
if p.count < 10 {
  p.Unlock()
  return p.count
}
p.count++
newCount := p.count
p.Unlock()
return newCount
// easy to miss unlocks due to multiple returns

Good

p.Lock()
defer p.Unlock()
if p.count < 10 {
  return p.count
}
p.count++
return p.count
// more readable

详情查看该指南:

https://github.com/uber-go/guide/blob/master/style.md

文章来源:

Author:IT之家
link:https://www.ithome.com/0/450/227.htm