Skip to content

Go 项目文件命名规范是什么?

zzh0u

计算机科学中只有两件难事:缓存失效和命名。—— 菲尔·卡尔顿(Phil Karlton)。

在编程世界中,选择正确的命名约定是打开可读和可维护代码大门的重要途径。在使用 Go 语言开发项目时,文件命名是构建清晰项目结构的关键一环,一个合理的文件命名规范不仅能提高开发效率,还能降低团队协作中的沟通成本。

目录名

关于 Go 目录命名规范,在网上搜索相关资料,基本能找到如下两条共识:

项目本身也是一个目录,所以项目名也遵循这两条规范。关于项目本身的的命名,其实也可以是一个代号(如神话人物的名字、游戏角色等),例如 kratoskubernetes

包名

对于包名,Go 官方博客给出了参考建议,也是最为权威的规范。在 Package names 这篇 Go 官方博文中,给出了几条好的包命名原则:


Go Team 成员 David Crawshaw 在 2014 Google I/O talk 中也对包命名规范给出了建议:

同目录名规范一样,包名也存在例外的情况:

正确示例:

controller
stringset
tabwriter

反向示例:

MyUtil
util
time // 与标准库重名
tabWriter
TabWriter
tab_writer

最后,一些共识性建议

书影音

Previous
浏览器端数据存储机制
Next
写题记录-科学计数法