awesome-go-style:实践指南

作者:袖梨 2026-09-11

真正理解awesome-go-style,要从它处理的任务开始:汇总 Go 语言代码风格指南、惯用写法和工程规范的资源清单。在软件开发场景里,常见问题是依赖、接口和异常处理往往比主路径更影响采用,这正是评估时需要盯住的地方。先在隔离分支完成一个可回滚的小任务更稳妥;过程中要观察安装步骤、接口契约、测试结果和错误信息,失败也应能解释原因。如果团队属于需要可检查开发流程而非单次演示的工程师,它有继续测试的理由;否则先看替代方案会更省时间。

这是 Go 风格指南的集合。

请务必阅读编写工程 guidelines 在尝试批发采用其中之一之前。

(有关这些的更多评论,请参阅我的博客文章 惯用 Go 资源)

经典

  • Go 风格(Google 风格指南)
  • 有效走
  • CodeReviewComments
  • 围棋谚语

谷歌员工讲座

  • 名字里有什么?
  • 封装名称
  • 在 Go 中,像 Gophers 一样
  • 十二围棋最佳实践
  • Go 包的风格指南
  • 惯用围棋

Go 维基页面

  • 目标特定代码
  • 装配政策
  • 提交消息
  • TestComments

非 Google 员工

  • Go 最佳实践 2016
  • 进行工业编程
  • Practical Go:编写可维护的 Go 程序的真实建议
  • 围棋之禅
  • godocgo:有效的 Go 文档

进一步阅读

  • 塑造 Go 的想法
  • Google 软件工程

Corporate/Project-specific 风格指南

  • bahlo/go-styleguide
  • CockroachDB
  • Edge X 铸造厂
  • GitLab
  • 超级账本
  • 磁力
  • 源图
  • 灭霸
  • 优步

代码审查的一般提示:

  • Vitess.io 代码审查
  • Google 工程实践

我自己对 TODO 注释的最佳实践的尝试(摘自现有的 Go 实践,但大多没有记录):

// For TODOs, BUGs, and NOTEs please use the standard form:
//
//    // TODO(username): ...
//
// The username (generally yours) means "for more information see", not
// "I claim responsibility for fixing this." Please use TODO rather than FIXME,
// XXX, HACK, etc.  This limits the number of things to grep for.
//
//    * TODO denotes missing features or functionality
//    * BUG denotes known broken code; these are displayed in godoc
//    * NOTE is used to highlight a particularly important or subtle section of code
//    * SECURITY and SECBUG are used for security related notes and issues

如果您有错误跟踪器,TODO(bug#) 可能更有用,因为它们可能 保持静态,而维护人员随着时间的推移而移动。 同样,包括日期或 评论中的发布版本可以确保 TODOs 在适当的时候重新访问 次。

相关文章

精彩推荐