1 回答

TA貢獻(xiàn)1946條經(jīng)驗(yàn) 獲得超4個(gè)贊
一般來說,盡量堅(jiān)持一個(gè)repo和一個(gè)模塊。將您的代碼庫拆分為多個(gè)存儲(chǔ)庫和/或多個(gè)模塊會(huì)產(chǎn)生隨時(shí)間增長的成本。您需要在自己的模塊之間定義清晰的版本依賴關(guān)系,仔細(xì)進(jìn)行分階段升級(jí)等。特別是對于中小型項(xiàng)目,一個(gè) repo 和一個(gè)模塊是最好的方法。
關(guān)于您在示例 1中的具體要求,如果“客戶端”的用戶不拉“服務(wù)器”代碼至關(guān)重要,那么客戶端和服務(wù)器必須位于單獨(dú)的模塊中。這些模塊可以在同一個(gè) repo 中,也可以在不同的 repo 中——這對 Go 沒有任何影響。公共代碼必須在自己的模塊中,例如:
github.com/user/myrepo/
client/
go.mod
server/
go.mod
common/
go.mod
然后,使用您的客戶端的模塊將在其go.mod:
require github.com/user/myrepo/client <version>
這將拉入clientand common,但不是server。
如果服務(wù)器可以依賴客戶端,那么您可能會(huì)common參與其中client,盡管我不確定這會(huì)節(jié)省多少。
對于示例 2,這個(gè)想法是相似的 - 通用代碼可以進(jìn)入它自己的模塊。
- 1 回答
- 0 關(guān)注
- 276 瀏覽
添加回答
舉報(bào)