项目目录组织(namespace)
大多数人对于工作空间的概念依赖某些框架、某些工具定义好的生成规则,这种规则最早来源 IDE 时代。比如我们用 VS 创建一个项目 VS 创建对应的工作空间,创建各种各样的目录,很多时候只是往命名空间里添加文件,很少真正意义上的组织工作空间目录。很多操作系统源码对工具的依赖很低,它的目录组织都是基于人工的。
对于项目管理需要摆脱工具或者框架的规则,换一种方式去管理。
- 应用程序框架,把逻辑代码填充到对应的框架中,由框架启动调用资源实现定制化。
- 包或者库框架,提供功能性的服务。直接把它放到框架里使用。
应用程序框架是相对完整的应用程序,框架本身可以运行,我们管这种框架叫做 App 框架。我们只需要把逻辑放到指定的目录或者配置文件中,然后由这个框架在运行期载入自定义资源实现定制化,在框架开发定制服务和插件。
Go 语言工作空间
工作空间(workspace)由 src、pkg、bin 三个固定目录构成。
<workspace>/
|
+--- bin/ ;可执行文件安装目录
|
+--- pkg/ ;包(.a)安装目录
|
+--- src/ ;源码目录
|
+--- test
|
+--- my