精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

上帝視角看 “Go 項目標準布局” 之爭

開發 項目管理
前段時間 Go 語言社區有一件事情引爆了熱議,那就是 golang-standards/project-layout 項目的 “Go 項目的標準布局” 之爭。

[[397785]]

本文轉載自微信公眾號「腦子進煎魚了」,作者陳煎魚。轉載本文請聯系腦子進煎魚了公眾號。

大家好,我是煎魚。

前段時間 Go 語言社區有一件事情引爆了熱議,那就是 golang-standards/project-layout 項目的 “Go 項目的標準布局” 之爭。

沒想到,五一假期,認真一看,這個 issues 已經提出將近一個月了,仍然在熱議階段,我想,咱們需要好好的聊聊這個話題。

煎魚帶你了解下的前因后果,再分享我的看法和業務真實情況。

背景

問題發生地

在 GitHub 上有一個項目 Spaghetti(github.com/adonovan/spaghetti),是 Go 軟件包的一個依賴性分析工具。

該項目的目錄結構如下:

 

看上去并不復雜,代碼量不多,文件平鋪也不超過一屏,就是一個布局比較簡單的項目。

有一位老哥提出了一個 PR,明確的期望該項目按照 golang-standards/project-layout 項目給出的 “標準” 布局來調整。:

 

我猜測該項目可能是因為把 Go、HTML、JS、PNG 和 go.mod 文件等擺在了一起,引起了該同學的一絲絲糾結,覺得比較亂?

“標準布局“ 長什么樣子

在 golang-standards/project-layout 項目中,其自稱:

 

項目的組織名也是 "golang-standards",其提供了一個基本的 Go 項目布局,精簡展示如下:

  1. project-layout 
  2. ├── api 
  3. ├── cmd 
  4. ├── configs 
  5. ├── docs 
  6. ├── go.mod 
  7. ├── init 
  8. ├── internal 
  9. ├── pkg 
  10. ├── scripts 
  11. ├── vendor 
  12. ├── ... 
  • /cmd:項目主要的應用程序。
  • /internal:私有的應用程序代碼庫,這些是不希望被其他人導入的代碼。
    • 應用程序實際的代碼可以放在 /internal/app 目錄(如:internal/app/myapp)。
    • 應用程序的共享代碼放在 /internal/pkg 目錄(如:internal/pkg/myprivlib)中。
  • /pkg:外部應用程序可以使用的庫代碼(如:/pkg/mypubliclib)。其他項目將會導入這些庫來保證項目可以正常運行。
  • /vendor:應用程序的依賴關系,可通過執行 go mod vendor 執行得到。
  • /configs:配置文件模板或默認配置。
  • /init:系統初始化(systemd、upstart、sysv)和進程管理(runit、supervisord)配置。
  • /scripts::用于執行各種構建,安裝,分析等操作的腳本。

更具體的布局介紹,大家可以參見 project-layout 項目的 README,其基本把方方面面的目錄都考慮到了(人多力量大)。

由于內容過于長,因此就不一一展示了。

Russ Cox 現身原因

不過很巧,該項目的作者是前 Google 員工,是 gopl.io 項目(5.1k stars)的作者。

在僅僅過去 23 分鐘后,作為 GoTeam Leader 的 Russ Cox(@rsc)就現身,并提出新的 issue 表達出了反對意見:

 

在 golang-standards/project-layout 項目的 README 中有明確指出這不是官方的標準,有如下聲稱:

it is a set of common historical and emerging project layout patterns in the Go ecosystem.

Russ Cox 主要是對聲稱 "這是一套 Go 生態系統中常見的歷史和新興的項目布局模式" 這一說法表示了 “不準確” 的意見。

例如:Go 生態系統中的絕大多數包都不會將可導入的包放在 pkg 子目錄中。更廣泛地說,這里描述的只是非常復雜的工程項目,而 Go 的倉庫往往要簡單得多。

另外,不幸的是,這套項目布局在組織名字上被稱作 "golang-standards"(Golang 標準) 提出來,實際上并非真的是官方標準,有誤導的情況存在。

Russ Cox 反對原因

在了解 project-layout 項目所提供的 “標準“ 項目布局和 Russ Cox 提出 issues 的背景后。

我們進一步了解 Russ Cox 認為這不對的根本考慮。project-layout 這個項目有兩個問題:

  • 它聲稱是 Go 標準(Go standards)的主辦方,但實際上并非如此,因為這些標準絕非 Go 官方標準。
  • 它提出的項目布局標準過于復雜,不是一個合理的標準。

Go 項目布局的標準是什么

提出這個 issues 后,出現了一大堆人追問 Russ Cox,到底何為 Go 項目的布局標準?

Russ Cox 給出了正式回應,一個可導入的 Go repo 的最小標準布局是:

  • 在你的根目錄下放一個 LICENSE 文件。
  • 在你的根目錄下放一個 go.mod 文件。
  • 將 Go 代碼放在 repo 中,放在根目錄中,或者按照你認為合適的方式組織成一個目錄樹。

就這樣了,這就是 "標準",沒有那么復雜。不需要像 project-layout 項目一樣的布局。像是 Go 官方的 golang.org/x 倉庫打破了 project-layout 所說的這些 "規則 "中的每一條。

Go 提案

在經歷了長時間的口水戰后,已經有人在 Go 官方倉庫提出希望釋出相關的提案(proposal):

 

猜測可能會有如下幾種可能:

  • GitHub 項目 golang-standards/project-layout 愿意更名,不再自稱 ”golang-standards“,不過可能性比較低,因為已經已多人提出,但作者沒什么表示。
  • Go 官方正式提供 Go 標準項目布局的說明。
  • Go 官方不做約束,僅做表態,可能輸出文章。

后續大家繼續關注該提案,就可以知道發展了,傳送門:issues #45861。

按照慣例,我猜測第三種可能性最大,因為很難有人可以提供所有開發者認可的標準,每個事業部、團隊的喜好都可能有所不同。

總結

實際上,任何東西自稱 “XX 標準”,在名氣大后,都會帶來一些問題。就像本文提到的 golang-standards/project-layout 項目一樣。

換位思考一下,若你是某個項目的 Leader,某一天你的同事,被人拿著 “標準” 來建議修改時,說這是這個項目的 “標準”,會不會很奇妙?

無獨有偶,我有一個朋友,他們公司早年只有一套 DDD 標準,本想統一。結果后面每一個介入 DDD 的業務同學,都認為前人不標準,每個人都自創了一套 DDD 標準。

總是會有小伙伴想讓定義絕對的 “標準”,又或是 “最佳實踐”。其實是難以定義的,最好的就是能夠一個團隊內形成基本共識,這里面牽扯到的不單單只有技術...

 

 

責任編輯:武曉燕 來源: 腦子進煎魚了
相關推薦

2015-07-23 09:15:07

2021-05-18 06:51:37

CPU程序員系統

2024-10-12 11:27:09

銳捷以太彩光以太全光

2010-08-02 23:26:17

4G

2022-01-19 09:00:51

UI前端手機開發

2025-11-07 16:06:59

DeepMindMelissaAI

2023-12-26 07:37:27

2012-09-19 15:53:58

云計算云計算標準

2015-07-01 09:56:38

2021-07-26 16:34:57

博睿數據服務可達DNA

2015-07-10 09:26:20

2017-09-14 12:17:15

2025-03-26 09:41:19

2024-01-08 20:05:32

2013-03-25 09:30:10

SDN網絡虛擬化OpenFlow

2012-06-18 10:45:20

開源Linux

2011-08-25 09:28:11

云計算云計算標準

2010-04-14 09:06:28

FlashWeb標準

2022-01-13 10:19:34

軟件汽車 技術
點贊
收藏

51CTO技術棧公眾號

亚洲第一av| 人妻视频一区二区三区| 日本欧美国产| 日韩一区二区在线看| 先锋影音男人资源| 水莓100国产免费av在线播放| 国产亚洲一区在线| 色先锋资源久久综合5566| 伊人成人222| 3344国产永久在线观看视频| 久久色在线视频| 国产主播欧美精品| 日本a在线观看| 欧美色女视频| 亚洲白虎美女被爆操| 国产一区视频免费观看| 在线h片观看| 26uuu精品一区二区在线观看| 国产成人极品视频| 成年人av电影| 欧美在线观看视频一区| 精品日韩欧美在线| 天天爽夜夜爽一区二区三区| 草美女在线观看| 中文字幕乱码一区二区免费| 国产精品一区二区在线观看 | 亚洲精品免费视频| 欧美亚洲免费高清在线观看 | 五月天av在线| 亚洲欧美一区二区三区孕妇| 欧美 日韩 国产在线| 99久久免费国产精精品| 日韩国产欧美在线观看| 久久久欧美一区二区| 日韩一区二区三区四区视频| 欧美a一欧美| 日韩三级中文字幕| 亚洲精品久久久中文字幕| 欧美激情20| 夜夜嗨av一区二区三区网页| 夜夜爽www精品| 欧美成人片在线| 成人在线视频一区二区| 91久久久在线| 亚洲无码精品在线播放| 久久九九电影| 欧洲午夜精品久久久| 久久精品久久精品久久| 欧美国产91| 欧美www在线| 日韩av毛片在线观看| 国产一区二区三区四区二区| 日韩精品免费在线| a级一a一级在线观看| 99ri日韩精品视频| 精品国产污网站| 欧美日韩一区二区区别是什么 | 男女啪啪在线观看| 国产精品天天摸av网| 青青草国产精品| 欧美在线一卡| 久久久夜色精品亚洲| 欧美精品一区在线| 精品无人乱码| 国产欧美精品日韩区二区麻豆天美| 久中文字幕一区| 男女网站在线观看| 久久精品网站免费观看| 日韩动漫在线观看| 2019中文字幕在线视频| 中文字幕制服丝袜成人av| 中文字幕中文字幕在线中一区高清| 成人福利在线| 国产精品久久精品日日| 欧美三级午夜理伦三级老人| 91麻豆免费在线视频| 亚洲九九爱视频| 日本阿v视频在线观看| 黄页网站在线| 黑人巨大精品欧美一区二区一视频| 青青艹视频在线| 另类激情视频| 538在线一区二区精品国产| 奇米777在线视频| 欧美经典影片视频网站| 亚洲国产成人精品一区二区| 免费在线观看成年人视频| 久草在线成人| 久久亚洲一区二区三区四区五区高 | 中文字幕欧美日韩| 九九这里只有精品视频| 欧美激情 亚洲a∨综合| 91精品国产高清| 亚洲中文字幕无码爆乳av| 久久精品99久久久| 国产欧美日韩在线播放| 久久国产精品高清一区二区三区| 国产精品三级电影| 女人被男人躁得好爽免费视频| 日韩激情电影| 在线观看91av| 99久久国产精| 91精品蜜臀一区二区三区在线| 久久久久久国产精品美女| 欧美人一级淫片a免费播放| 国产在线精品视频| 蜜桃传媒视频麻豆第一区免费观看 | 久久av日韩| 精品免费视频一区二区| 日本精品在线观看视频| 国产一区日韩一区| 国产精品第七十二页| www视频在线| 国产色一区二区| 亚洲乱码日产精品bd在线观看| 日韩伦理精品| 日韩丝袜情趣美女图片| xxxx日本免费| 亚洲福利一区| 91丝袜美腿美女视频网站| 西西人体44www大胆无码| 亚洲色图另类专区| 日本中文字幕网址| 国产视频一区二| 一个色综合导航| www.av视频在线观看| 麻豆精品一区二区三区| 欧美日韩亚洲免费| 91老司机福利在线| 欧美一区二区在线看| 成人激情五月天| 免费在线欧美黄色| 国产区二精品视| 日本精品600av| 欧美高清精品3d| 国产毛片欧美毛片久久久| 国产精品丝袜xxxxxxx| 999久久久| 国产黄色小视频在线| 欧美亚洲尤物久久| 色婷婷在线影院| 国产精品久久777777毛茸茸| 99国产在线观看| www在线视频| 欧美精品九九99久久| 久久久久久成人网| 日本vs亚洲vs韩国一区三区二区 | 午夜精品久久久久久久爽| 17c精品麻豆一区二区免费| www.天天射.com| 精品国产一区探花在线观看| 国产91色在线| 精品影院一区| 欧美三级蜜桃2在线观看| 亚洲熟妇一区二区三区| 久久视频一区| 日本在线视频一区| 91精品美女| 中文字幕国产精品久久| 这里只有精品6| 中文字幕一区二区三| 亚洲天堂av一区二区| 91久久夜色精品国产按摩| 国产女人精品视频| av中文字幕在线播放| 日韩一区二区免费视频| 久草免费在线观看视频| 处破女av一区二区| 久激情内射婷内射蜜桃| 日本天堂一区| 国产精品白嫩美女在线观看| 国产一级在线观看| 欧美日韩国产一二三| 暗呦丨小u女国产精品| 国产精品一区二区三区网站| 欧美在线观看视频免费| 日本欧美高清| 国产精品日韩久久久久| 国产激情小视频在线| 日韩丝袜美女视频| www.伊人久久| 国产精品欧美综合在线| 中文字幕一二三区| 亚洲日本成人| 色一情一区二区三区四区| 亚洲免费资源| 久久久久久网站| 国产日韩精品在线看| 欧美精品在线观看一区二区| 久久久久久福利| 久久综合国产精品| xxx国产在线观看| 国精品一区二区| 欧美日韩喷水| 视频二区欧美| 国产精品成人在线| 18视频在线观看| 亚洲精品一区二区三区不| 一本久道久久综合无码中文| 一区二区在线观看免费| av直播在线观看| 精品在线亚洲视频| 成人免费在线小视频| 午夜免费一区| 欧美黄色直播| 成人午夜网址| 国产精品亚洲美女av网站| 成人av影院在线观看| 日韩在线国产精品| 亚洲 小说区 图片区 都市| 欧美三级乱人伦电影| 偷偷操不一样的久久| 成人免费一区二区三区在线观看| www.久久国产| 国产精品456| 孩娇小videos精品| 亚洲一区成人| 欧美在线观看视频免费| 久久在线免费| 日韩精品久久一区| 免费萌白酱国产一区二区三区| 国产欧美最新羞羞视频在线观看| 咪咪网在线视频| 色综合久久88| 欧美a免费在线| 在线日韩欧美视频| 日韩精品视频无播放器在线看 | 亚洲永久免费视频| 日韩精品久久久久久久的张开腿让 | 国产日韩综合一区二区性色av| 日韩大片免费观看| 久久久久久久一区二区| 污视频在线免费观看网站| 色婷婷综合久久久久| 男人天堂综合| 精品小视频在线| 天堂v在线观看| 精品人伦一区二区色婷婷| 国产精品视频在线观看免费| 欧美在线一区二区| 黄色片视频免费| 欧美日韩免费一区| 欧美三级韩国三级日本三斤在线观看| 亚洲码国产岛国毛片在线| 制服丨自拍丨欧美丨动漫丨| 国产婷婷色一区二区三区在线| aa片在线观看视频在线播放| 成人性色生活片| 麻豆av免费看| 高清国产一区二区| 欧美日韩人妻精品一区在线| 从欧美一区二区三区| 久久久视频精品| 亚洲欧美精品aaaaaa片| 亚洲国产成人在线| 麻豆视频免费在线播放| 国产精品天天看| 日韩av毛片在线观看| **欧美大码日韩| 538精品在线观看| 亚洲一区影音先锋| 天天爽夜夜爽夜夜爽精品| 欧美日韩国产区| 在线视频一区二区三区四区| 91国偷自产一区二区开放时间| 亚洲天堂男人av| 欧美日韩免费一区二区三区| 一级黄色a视频| 日韩视频中午一区| 手机亚洲第一页| 日韩中文字幕网| 日本三级在线观看网站| 97久久国产精品| 精品网站在线| 福利视频久久| 亚洲香蕉视频| 91免费视频黄| 亚洲三级观看| 亚洲一区二区三区四区五区xx| 麻豆一区二区99久久久久| 少妇熟女视频一区二区三区| 97精品久久久午夜一区二区三区 | 久久久久久久久久久久久久久99| 欧美黄色激情视频| 亚洲视频你懂的| 精品人妻在线播放| 欧美日韩在线观看视频| 天堂网视频在线| 欧美一卡二卡在线| 蜜桃视频在线观看www| 亚洲最新av在线| 日韩伦理在线电影| 在线成人一区二区| 污视频网站免费在线观看| 欧美激情视频一区二区| 欧洲成人一区| 亚洲在线观看视频| 欧美影院天天5g天天爽| 中文字幕久久一区| 一区在线视频观看| www.日本xxxx| 成人福利视频在线| 中文字幕有码在线播放| 97se亚洲国产综合自在线不卡| 一区二区三区在线播放视频| 一区二区三区中文免费| 日韩成人一区二区三区| 在线观看免费视频综合| 精品国产av 无码一区二区三区| 亚洲欧美日韩一区在线| 国产在线高清理伦片a| 国语自产精品视频在线看| 香蕉久久久久久| 黑人中文字幕一区二区三区| 欧美大片网址| 日本一区二区在线视频| 欧美va天堂| 国产成人精品无码播放| 国产激情一区二区三区| b站大片免费直播| 亚洲成人www| 亚洲综合网av| 精品福利在线导航| 成人毛片av在线| 国产成人在线播放| 色88888久久久久久影院| 久久久成人精品一区二区三区 | 日韩中文字幕在线一区| 日本不卡一区二区三区视频| 在线播放不卡| 亚洲精品mv在线观看| 久久久国产综合精品女国产盗摄| 国产无套粉嫩白浆内谢| 欧美老年两性高潮| 蜜桃视频久久一区免费观看入口| 伊人精品在线观看| 日本一级理论片在线大全| 成人福利视频在线观看| 免费视频一区三区| 成年人午夜视频在线观看| 国产一区二区三区免费| 国产一级久久久久毛片精品| 一区二区三区在线观看网站| 国产精品久久久久久69| 伊人青青综合网站| 欧美无毛视频| 欧美激情一区二区三区在线视频| 国产欧美另类| 精品熟女一区二区三区| 《视频一区视频二区| 97人妻精品一区二区三区动漫 | 中文成人无字幕乱码精品区| 一区二区在线观看免费视频播放| 91成年人视频| 亚洲人精品午夜在线观看| 日韩精品99| 麻豆av一区二区| 老司机精品视频网站| 女~淫辱の触手3d动漫| 亚洲一区二区欧美| 黄片毛片在线看| 久久久免费av| 天堂成人娱乐在线视频免费播放网站 | 国产三级按摩推拿按摩| 日日骚久久av| 精品久久在线| 亚洲av首页在线| 国产精品一二三四| 中文字幕精品亚洲| 欧美精品粉嫩高潮一区二区| av中文字幕一区二区三区| 国产精品一区二区三区在线播放| 国产亚洲电影| 午夜大片在线观看| 一区二区三区四区在线| 日韩中文字幕免费观看| 91精品国产色综合久久不卡98| 久久亚洲黄色| 久久久精品麻豆| 亚洲日韩欧美一区二区在线| www.激情五月| 久久青草福利网站| a看欧美黄色女同性恋| 国内外成人免费激情视频| 久久精品综合网| 国产精品一区二区免费视频| 欧美另类极品videosbest最新版本| 国产毛片久久久| 欧美在线观看www| 国产欧美日韩不卡| 亚洲乱码在线观看| 51ⅴ精品国产91久久久久久| 成人精品影院| 被黑人猛躁10次高潮视频| 欧美性猛交xxxxx水多| avtt亚洲| 亚洲在线观看视频网站| 久久资源在线| 一区二区国产精品精华液| 日韩第一页在线|