天天看點

golang-standards 提供的golang 項目結構布局

golang-standards 社群提供了一個golang 項目的參考結構,同時提供了比較完整的說明

/cmd 

項目的主幹,次目錄應該足夠簡單

/interenal 

内部的,不需要分享到外部的,這個屬于golang 内部的一個特性,我們也會在好多開源項目中看到

/pkg 

可複用的一些代碼庫

/vendor 

vendor 模式的包,現在推薦的玩法是go modules 功能

/api 

關于openapi/swaggeer 規範的json 模式檔案

/web 

靜态web資源,伺服器模版以及單頁面應用。。。

/config 

配置檔案模版或者more 嗯配置

/init 

system init 管理的腳本

/scripts 

建構,安裝,分析等的腳本

/build 

打包以及持續內建的

/deployments 

關于iaas paas,以及部署的,也可以水用/deploy 命名

/test 

關于程式測試的

/docs 

設計以及使用者文檔

/tools 

項目的支援工具,工具可以從/pkg 以及/inteernal 導入

/examples 

公共執行個體

/thrid_party 

外部輔助工具和,或者其他三方工具

/githooks 

git hooks

/assets 

與代碼庫共享的(圖像,徽标)

/websitee 

關于項目的website 文檔,可以使用github pages 。。。

/src 

以前好多項目使用的是src 模式,已經不推薦使用了

https://github.com/golang-standards/project-layout 

https://github.com/danceyoung/paper-code/blob/master/package-oriented-design/packageorienteddesign.md

繼續閱讀