Russ Cox 看不下去了:golang-standards/project-layout 不是 Go 标准布局

polaris · · 3745 次点击 · 开始浏览    置顶
这是一个创建于 的主题,其中的信息可能已经有所发展或是发生改变。

相信很多人纠结项目如何组织结构时,看到过 GitHub 上的这个项目:<https://github.com/golang-standards/project-layout>,到目前为止,这个项目已经 22.8k+ Star 了。 然而,前些天,Go Team Leader Russ Cox 实在看不下去了,在这个项目提了一个 issue:[this is not a standard Go project layout](https://github.com/golang-standards/project-layout/issues/117)。 ![project-layout.png](https://static.studygolang.com/210429/0c8d3d2aff4189a8ba159707d4cf8567.png) 我想应该有不少人遇到类似 rsc 提到的这个困惑:你的项目没有使用标准的 Go 布局。。。而这个标准的布局,指的就是这项目。 rsc 表示,虽然这个项目在 README 中明确说明了,这个不是官方的。不过无论从项目名称(golang-standards/project-layout)还是里面提到的一些建议,都很容易让人以为是标准。 其实我认为这个项目本身没有什么问题(虽然名字可能确实不太合适),毕竟它是总结了 GitHub 上比较有名的开源项目的出来的。 rsc 提到 pkg 包的问题,但现在很多有名的开源项目,都这么用了。 既然现在社区出现了这个,而且很多人以为是“标准”,那 Go Team 是不是该反思下,为什么会出现这样的情况?Go 官方是不是应该考虑给项目布局一些建议呢。你自己没有,别人有,你又觉得不合适,这是不是不讲道理呢?!别人有,你觉得不好,出一个更好的,我觉得才是正道!! 大家觉得呢?对此,你怎么看? ### 更新 rsc 回复了「标准」: 1. 在根目录下放LICENSE文件 2. 在根目录放一个go.mod文件 3. 在你认为合适的地方(根目录或者整理到文件夹内),放置 Go 代码。 <https://github.com/golang-standards/project-layout/issues/117#issuecomment-828503689> 这标准,跟没有差不多?!

有疑问加站长微信联系(非本文作者)

入群交流(和以上内容无关):加入Go大咖交流群,或添加微信:liuxiaoyan-s 备注:入群;或加QQ群:692541889

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