如果你編寫一個很大的go命令(不是一個包),你如何佈置它的內部?我很想擁有一些實用程序包等,但除了命令的代碼外沒有其他任何內容暴露。如果它全部在相同的回購協議中,我不會看到什麼阻止某人導入這些內部使用包。如何構建go命令內部結構
1
A
回答
1
您可能會將您的實用程序包內置到您的包裝中— like this。這不會阻止任何人使用它們,但a)爲什麼你會在乎呢? b)包裹的結構會明確暗示這些「子包」是項目的內部。
1
答案很簡單(但很可能不是你想聽到的):做任何你喜歡並且被允許的事情。將工具軟件包存放在某個地方是非常好的,無論是在「子軟件包」還是在不同的回購軟件中。
關於
我沒有看到什麼從進口那些內部使用的軟件包
爲什麼你關心的人停止?如果這些軟件包封裝了不同的和可用的功能,則某些人可能從導入它們中受益。將這些功能與命令保持在一起不能「保護」它們,因爲「沒有人應該能夠看我的代碼」。只需在文檔中明確指出,您隨時都可以隨時進行不兼容的更改。 Go並不是爲了防止每一個愚蠢的行爲,並且保護懶惰和無能力的人,他們故意忽視任何文件的射擊。
+0
你是對的,你的答案不是我想聽的!但沒關係。似乎是最好的,然後保持一切只與內部實現有關,並將實際斷開連接的功能保存在一個單獨的可移除包中,謝謝1 – cellige
相關問題
- 1. GO/geany:配置構建命令
- 2. 如何爲Go創建JSON結構
- 3. 如何構建命令行
- 4. Go - 如何導入其他包內部的結構?
- 5. Linux命令結構
- 6. 我該如何設置go-gb來構建vim內部
- 7. 結構如何執行命令?
- 8. 結構內結構,能夠改變內部結構類型
- 9. 從命令行構建Web部署包
- 10. Go結構在相同的結構類型內?
- 11. CPython內部結構
- 12. 類內部結構
- 13. Ç - 內部結構
- 14. Docker內部結構
- 15. android內部結構
- 16. 爲內部結構
- 17. ThreadPoolExecutor內部結構
- 18. CGColor內部結構
- 19. ActiveRecord內部結構
- 20. 如何將Go結構轉換爲C結構?
- 21. TeamCity命令行構建運行器:如何使構建失敗?
- 22. 如何使用HTTP命令停止構建代理構建
- 23. 如何通過命令行構建SSISDeploymentManifest
- 24. 如何在構建後觸發命令?
- 25. 後臺工作,如何構建命令
- 26. 如何使用命令行構建apk
- 27. 如何評估VS構建命令宏?
- 28. 如何從命令行構建android apk?
- 29. 如何從命令行構建SQLite3?
- 30. python結構多個命令
作爲後續問題,人們通常在命令程序中測試內部結構嗎?由於大多數人建議只測試只測試命令main()的公共接口, – cellige