Go项目目录详细划分

前言

  1. 从有无代码划分为 Go应用、项目管理、文档
  2. Go应用由可以分为开发阶段、测试阶段、发布阶段

Go应用

开发阶段
前端
  1. 放置前端相关代码的web目录
后端
  1. cmd 即 main启动的地方,启动入口
  2. 内部包 internal,放自己的应用和代码
  3. 可共享使用的代码放 pkg 目录
  4. third_party 第三方工具、代码、应用 等
  5. vendor 放自己手动写的包(未经发布的,但是项目又依赖的)
internal
  1. pkg 放内部包共享的代码,如 internal/pkg/code 业务code代码
  2. <app-name> 应用代码模块(intername/admin 代表后台应用,internal/web 代表前台应用),如果是单应用,可以省了<app-name>
  3. config 放配置文件,如:mysql、redis、kafka 配置等
  4. service 实际业务代码

测试阶段

放测试用例的test目录,希望test的覆盖率能达到 >= 90%

部署阶段

  1. 放容器编排(容器部署)的目录 deployments
  2. 放非容器部署的目录 init

项目管理

  1. Makefile 常用于静态代码检查、单元测试、编译等......
  2. scripts 脚本,通常放shell脚本,辅助使用
  3. build 存放和构建相关的如(build/ci 存放ci的配置文件和脚本)
  4. tools 存放项目支持工具
  5. githooks 存放通过git提交时触发的一些逻辑
  6. website 站点信息,存放网站的相关信息
  7. assets 放置项目所依赖的一些资源,如icon

文档

  1. api 和其相关的接口定义文件存放位置
  2. LICENSE 版权说明
  3. README.md 对项目的介绍、功能、快速安装、使用指引说明等......
  4. docs 放文档,docs/devel/{zh-CN,en-US}:存放开发文档 docs/devel/{zh-CN,en-US}:存放用户使用手册,安装事项等,docs/images:存放图片
  5. 如果是开源项目,还需要CONTRIBUTING.md 告诉别人如何参与贡献代码
  6. CHANGELOG 项目更新日志
  7. examples 示例代码,让新同事或开发者快速上手
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值