2017-10-14 158 views
1

我只是写了一些分为3个部分的项目:在Golang,mongoDB和android客户端编写的API。如上所述,我认为创建指令是很好的。但是,当它不是golang github上项目的良好实践:结构是这样的:Github项目结构

MyProject 
├── API 
│   ├── scripts 
│   └── src 
│      └── some_go_file.go 
├── DB 
│   ├── db_scripts 
│   └── data 
└── AndroidDirectory 

任何想法,这种结构应该看怎么样?我应该使用单独的回购,还是应该将每个组件留在单独的分支上?

+1

假设您可以使用此结构轻松构建和部署,但我没有看到任何理由不使用单个回购和分支。 –

+0

对API和Android客户端使用单独的回购将使您的生活更轻松。考虑版本化和发布。如果API由数据库支持,我会把它放在API回购中。 – reto

回答

2

Github上的Go项目没有特别的布局,除非在顶层使用一些主要的文件包来使它变得可行。请参阅此处的说明,但请记住,它首先讨论工作区,而不是应用程序,如果您向上滚动。

https://golang.org/doc/code.html#Command

要编译和运行一个简单的程序,先选择一个包路径 (我们将使用github.com/user/hello),并创建你的工作空间内相应的包 目录:

$ mkdir $ GOPATH/src/github.com/user/hello接下来,在该目录内创建一个名为 的文件,其中包含以下Go代码。

所以这是唯一位我会改变 - 把至少一气呵成文件在顶层,那么你可以有低于在你希望的任何结构中的其它包(这是罚款,如果使用一个src目录你希望大多数包)。

为Android项目使用单独的回购,因为它不太可能使用相同的代码(假设它将通过网络使用API​​,并且不会直接使用mongodb)。

这留下你的api项目和mongodb。由于db数据和任何脚本都可能与api服务器相关,并且会随之发展,所以我将它们作为您项目的子目录,就像您所展示的那样。