account

command module
v0.8.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Mar 15, 2022 License: Apache-2.0 Imports: 1 Imported by: 0

README

DataWorkbench 开源项目结构规范 Golang 语言版本

本项目是 DataWorkbench 开源项目结构规范的 Golang 语言版本。

使用方式

规范

  • 必须使用 Go Modules,不得存在 vendor 目录
  • 必须将 go.modgo.sum 加入到版本管理工具
  • 默认使用 Apache 2.0 许可证,使用其他许可证的项目需使用正确的 LICENSE 文本

结构

  • cmd: 项目构建出来供用户使用的二进制
  • docs: 项目设计文档和用户文档
  • internal: 私有应用和库代码
    • internal/cmd: 仅供内部开发使用的二进制,包括代码生成工具等
  • pkg: 公开的库代码,相对独立,与本项目无强耦合逻辑,可被其他应用导入
  • test: 外部测试应用和测试数据

样例

简单的库
.
├── _lib_.go
├── _lib_test_.go
├── CHANGELOG.md
├── go.mod
├── go.sum
├── LICENSE
├── Makefile
└── README.md

一个比较简单的不分 package 的库可以没有 cmd 等目录

复杂的库
.
├── docs
│   └── README.md
├── pkg
│   └── README.md
├── test
│   └── README.md
├── _package_a_
├── _package_b_
├── CHANGELOG.md
├── go.mod
├── LICENSE
├── Makefile
└── README.md

复杂的库的包需要直接放在根目录下,根据实际情况决定是否需要 pkgtest 目录

应用
.
├── cmd
│   ├── _app_name_
│   │   └── main.go
│   └── README.md
├── docs
│   └── README.md
├── internal
│   ├── cmd
│   │   └── _tool_name_
│   │       └── main.go
│   ├── pkg
│   └── README.md
├── pkg
│   └── README.md
├── test
│   └── README.md
├── CHANGELOG.md
├── go.mod
├── LICENSE
├── Makefile
└── README.md

应用应当将二进制放在 cmd 目录下,仅内部使用的组件应放在 internal/cmd 下。

Documentation

The Go Gopher

There is no documentation for this package.

Directories

Path Synopsis
internal

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL