精品欧美一区二区三区在线观看 _久久久久国色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技術棧公眾號

无码国产精品一区二区免费16| 日本少妇色视频| 免费在线国产视频| 99精品黄色片免费大全| 国产精品视频内| 国产亚洲欧美精品久久久www| 亚洲涩涩av| 欧美一区二区三区播放老司机| 2022亚洲天堂| av香蕉成人| 久久久久国产成人精品亚洲午夜| 成人免费观看网址| 五月天婷婷激情| 亚洲成人精选| 亚洲色图第三页| 最新日本中文字幕| 欧美日韩破处视频| 色综合欧美在线| 精品视频在线观看一区二区| 不卡在线视频| 99久久亚洲一区二区三区青草| 成人国产精品日本在线| 五月天激情四射| 好吊一区二区三区| 久久人人爽人人爽爽久久| 91精彩刺激对白露脸偷拍| 美国十次综合久久| 欧美色精品在线视频| 九一国产精品视频| 性直播体位视频在线观看| 亚洲国产高清在线| 欧美精品一区二区三区四区五区| 人妻妺妺窝人体色www聚色窝| 久88久久88久久久| 国产精品永久免费观看| 影音先锋在线国产| 国产精品毛片| 97视频人免费观看| 国产亚洲精品av| 欧美激情1区2区3区| 久久好看免费视频| 日本一级片免费| 婷婷另类小说| 日韩有码在线电影| 手机av在线不卡| 国产欧美日韩| 国产亚洲一区二区精品| 欧美特黄一区二区三区| 欧美精品色图| 国产亚洲免费的视频看| 日本一区二区视频在线播放| 国产欧美日韩免费观看| 亚洲日韩欧美视频| 中文字幕第24页| 成人毛片免费看| 中文字幕精品网| 国产小视频你懂的| 国产精品黑丝在线播放| 久久综合伊人77777尤物| 麻豆视频在线免费看| 亚洲精品一区二区妖精| 欧美乱大交xxxxx另类电影| 极品久久久久久| 亚洲天堂成人| 欧美一级免费看| 久久这里只有精品9| 久久成人羞羞网站| 91精品久久香蕉国产线看观看| 性一交一乱一精一晶| 成人av网站大全| 欧美不卡1区2区3区| 国际av在线| 国产精品久久久久久久岛一牛影视 | 国内老司机av在线| 亚洲成人综合在线| 国产日韩一区二区在线| av在线一区不卡| 777亚洲妇女| 成人欧美精品一区二区| 亚洲丝袜美腿一区| 少妇高潮久久77777| 久久久久噜噜噜亚洲熟女综合| 亚洲精品看片| 国产精品电影网| 国产a级免费视频| aaa亚洲精品一二三区| 日本三级中国三级99人妇网站| 97超碰人人在线| 夜夜嗨av一区二区三区中文字幕 | 欧美电影h版| 欧美人狂配大交3d怪物一区| 欧美xxxx日本和非洲| 九九视频免费观看视频精品 | 日本福利片在线观看| 亚洲少妇诱惑| 亚洲国产日韩一区二区| 久久精品天堂| 白白色 亚洲乱淫| 国产精品二区在线| 日本wwwwwww| 中文精品视频一区二区在线观看| 国产日韩精品综合网站| 97成人在线视频| 亚洲精品国产综合久久| 日韩av黄色网址| 日韩成人在线电影| 亚洲黄色www| 特黄一区二区三区| 一区二区日韩免费看| 91精品久久久久久久久中文字幕| 少妇高潮喷水在线观看| av在线播放免费| 欧美国产综合| 国产精品久线观看视频| 全黄性性激高免费视频| 福利一区二区三区视频在线观看| 精品欧美一区二区三区精品久久| 免费看黄色av| 亚洲黄色毛片| 99re在线国产| 黄av在线播放| 欧美中文字幕一区二区三区亚洲| 亚洲香蕉中文网| 欧美精品1区| 国产在线98福利播放视频| 国产在线色视频| 欧美日韩国产专区| 日本精品一二三| 综合在线一区| 成人夜晚看av| 免费a级人成a大片在线观看| 色婷婷精品久久二区二区蜜臂av| 88av在线播放| 亚洲激情网站| 国产精品一区二区三区免费| 在线视频国产区| 4438成人网| 国产中文av在线| 日本伊人色综合网| 欧美重口乱码一区二区| 三级成人黄色影院| 国产亚洲精品久久久久久777 | 午夜一区二区三区视频| 国内av免费观看| 欧美不卡视频| 国产成人免费观看| 国内老司机av在线| 亚洲国产美女久久久久| 国产成人精品一区二三区| 99久久777色| 欧美日韩亚洲一| 窝窝社区一区二区| 国产不卡在线观看| wwwxxx在线观看| 欧美日韩激情一区二区| 无码人妻精品中文字幕 | 96pao国产成视频永久免费| 黄色网址视频在线观看| 国内精品久久久久久99蜜桃| 精品成a人在线观看| 国产精品日日夜夜| av在线不卡观看免费观看| 欧美精品久久久久久久免费| 婷婷成人在线| 国产高清在线不卡| 91九色在线porn| 宅男噜噜噜66一区二区66| 青草影院在线观看| www.欧美色图| 亚洲精品高清无码视频| 久久网站免费观看| 国产精品10p综合二区| 美女91在线看| 在线观看成人黄色| 国产女人高潮时对白| 亚洲午夜国产一区99re久久| 亚洲调教欧美在线| 人人狠狠综合久久亚洲| 特色特色大片在线| 女仆av观看一区| 国产精品吊钟奶在线| 国产视频中文字幕在线观看| 精品91自产拍在线观看一区| 天堂网中文字幕| 亚洲欧洲精品一区二区三区| 在线播放av网址| 日本女优在线视频一区二区| 国产精品88久久久久久妇女| 奇米影视777在线欧美电影观看| 国产精品成人品| 色婷婷视频在线观看| 亚洲欧美成人一区二区在线电影| 中文字幕一区二区三区四区视频 | jizzjizz国产精品喷水| 成人看的羞羞网站| 国产日本一区二区三区| 亚洲日本在线观看视频| 色综合久综合久久综合久鬼88| 毛片免费在线| 欧美大肚乱孕交hd孕妇| 无码任你躁久久久久久久| 亚洲最大成人综合| 欧美激情亚洲色图| 成人国产精品免费网站| 精品亚洲一区二区三区四区| 亚洲黄色一区| 麻豆映画在线观看| 成人一区不卡| 美女黄毛**国产精品啪啪| 久久精品九色| 国产美女扒开尿口久久久| 日韩激情电影| 欧美日本精品在线| 日本www在线观看| 亚洲欧洲日本专区| 乱精品一区字幕二区| 在线播放亚洲一区| 中国a一片一级一片| 精品国产福利在线| 久久国产在线视频| 亚洲天堂2016| 欧美性猛交xxxx乱大交少妇| 久久久综合视频| 国产熟女高潮一区二区三区| 国产精品88av| 午夜激情视频网| 麻豆精品在线看| 亚洲男人天堂色| 国产一区二区高清| 国产九九九九九| 雨宫琴音一区二区在线| 91精品一区二区三区四区| 久久亚洲在线| 宅男一区二区三区| 日韩一区二区三区免费播放| 日韩久久不卡| 加勒比久久综合| 欧美日韩系列| 久久最新网址| 青青草成人网| 国产亚洲电影| 日韩三级电影| 色135综合网| 亚洲欧美成人一区| 日韩电影免费网址| 色爱区成人综合网| 欧美偷拍综合| 亚洲国产午夜伦理片大全在线观看网站| 久久99青青| 日韩影视精品| 欧美gay男男猛男无套| 一区二区三区在线视频看| 日韩专区精品| 亚洲五码在线观看视频| 欧美精品黄色| 青青草精品视频在线| 亚洲精品九九| 男人的天堂日韩| 人人精品人人爱| 亚洲国产欧美91| 国产不卡视频在线播放| 四虎精品一区二区| www久久精品| 天天干天天操天天拍| 最新日韩av在线| √天堂中文官网8在线| 亚洲综合图片区| 成人午夜淫片100集| 欧美综合在线视频| 国产精品国产三级国产aⅴ| 欧美一区二区三区的| 少妇高潮一区二区三区69| 亚洲美女福利视频网站| 99视频在线观看地址| 久久高清视频免费| 国产污视频在线播放| 国产精品xxxxx| 免费一级欧美在线大片| 狠狠色综合欧美激情| 国产欧美高清视频在线| 天天干天天色天天爽| 99综合视频| 五月婷婷六月合| 丁香婷婷深情五月亚洲| 国产又粗又猛又爽又黄av| 亚洲日穴在线视频| 欧美一二三区视频| 欧美猛男gaygay网站| 高h震动喷水双性1v1| 亚洲偷欧美偷国内偷| 在线观看av免费| 日本不卡免费高清视频| 免费一区二区三区在线视频| 另类视频在线观看+1080p| 国产精品99一区二区三区| 精品无码国产一区二区三区av| 日韩国产成人精品| 午夜不卡久久精品无码免费| 国产日韩欧美综合一区| 精品无码人妻一区二区三区品| 在线观看视频欧美| 免费激情视频网站| 日韩在线观看免费高清| 成人直播视频| 成人h视频在线观看| 日本不卡电影| 国产亚洲天堂网| 高清不卡一区二区在线| 91av手机在线| 色久优优欧美色久优优| 亚洲成熟女性毛茸茸| 色婷婷综合久久久久| 一根才成人网| 国产欧美一区二区三区不卡高清| 久久久久久久久国产一区| 无码少妇一区二区三区芒果| eeuss鲁片一区二区三区在线观看| 国产成人综合在线视频| 欧美午夜一区二区| 色网站在线免费观看| 欧美精品xxx| 欧美区一区二区| 在线亚洲美日韩| 久久精品国产久精国产| 国产毛片久久久久久久| 亚洲v中文字幕| 免费av一级片| 欧美激情图片区| 欧美特黄不卡| 小说区视频区图片区| 美腿丝袜亚洲综合| 在线免费观看视频| 欧洲国产伦久久久久久久| 玖玖综合伊人| 日本欧美一二三区| 亚洲欧洲av| 大肉大捧一进一出好爽动态图| www.欧美色图| 精品成人免费视频| 亚洲国产古装精品网站| 2021中文字幕在线| 国产伦精品一区二区三区免费视频 | 丁香六月综合| 欧美亚洲丝袜| 老**午夜毛片一区二区三区| 中文字幕av一区二区| 国产视频在线播放| 亚洲一区二区三区在线免费观看| 国产精品久久久久久影院8一贰佰| 一区二区xxx| 国产精品久久夜| 国产人妖一区二区三区| 久久亚洲精品国产亚洲老地址| av在线亚洲一区| www.亚洲成人网| av成人免费在线| 亚洲欧美自拍视频| 在线观看免费高清视频97| 国产欧美自拍| 国产91porn| 成人精品一区二区三区中文字幕| 日本在线视频免费| 亚洲亚裔videos黑人hd| 日韩欧国产精品一区综合无码| 中国一级黄色录像| 成人午夜伦理影院| 一级黄色大片视频| 中文字幕日韩电影| 国产精品美女久久久久人| 男人天堂av片| 国产欧美日韩激情| 国产日韩欧美中文字幕| 韩日精品中文字幕| 九九热线有精品视频99| 欧美午夜精品理论片| 亚洲午夜电影在线| 国产毛片av在线| 999视频在线免费观看| 国产一区二区高清| 亚洲一区电影在线观看| 精品乱人伦小说| 香蕉视频亚洲一级| 久久视频免费在线| 久久综合九色欧美综合狠狠| 在线观看毛片网站| 国产69精品久久久久9999| 精品一区电影| 亚洲欧美日韩色| 欧美日韩亚洲国产综合| xxxcom在线观看| 水蜜桃亚洲一二三四在线| 国产成人免费视频精品含羞草妖精| 国产精品自拍99| 亚洲免费av高清| 精品无人区无码乱码毛片国产| 欧美色窝79yyyycom| sm久久捆绑调教精品一区| 亚洲不卡中文字幕| 国产精品一级片| 夜夜躁日日躁狠狠久久av|