Skip to content

工程规范

以下是根据工程实践不断调整后在我项目中使用的规范,可供参考。

目录结构


├── conf                        // 配置文件
├── connom                      // 公共模块
├── logic                       // 业务逻辑
│     ├── calc                  // 业务逻辑-模块a
│     │     ├── calcpub         // 对其他模块暴露的api
│     │     ├── init.go         // 模块a初始化
│     │     └── internal        // 内部依赖
│     ├── hello                 // 业务逻辑-模块b
│     │     ├── init.go         // 模块b初始化
│     │     └── internal        // 内部依赖
│     └── init.go               // 业务逻辑初始化
├── pb                          // 协议
├── transport                   // 传输层处理逻辑
│   ├── grpc                    // 传输层grpc协议处理逻辑
│   └── http                    // 传输层http协议处理逻辑
├── main.go                     // 程序入口

说明:从过往经验来看,模块之间的相互依赖是未来重构难度的根源, 我们应该把相关联的模块放在一起,保持单个模块代码简洁。

参考:quickstart