### 文档
- 不刻意制定详细文档
- 编码级别文档化,支持一键导出文档
### 统一的标准和习惯,提高可读性
三个统一
- 统一的日志
- 统一的接口规范:错误码、返回格式、国际化
- 统一编码习惯
### 统一编码习惯
**变量常量**
- 变量必须见名知义不得用拼音,且长度在 3-20 个字母
- 名词必须单数
- 常量必须全大写
所有程序**必须有注释**
提交记录必须指明 `tapd` 单号,功能,更新记录
**代码文件名**
- 必须**见名知义**,保证内部代码**单一职责**
- 文件夹必须**与包名**保持**一致**,**全小写**,尽量使用**短命名**,不能使用下划线、中划线等字符
**函数**
- 单个函数长度不超过 `50` 行
- 参数个数不要超过 `5` 个(参数过多通常意味着缺少封装,不易维护,容易出错)
- 函数返回值个数不要超过 `3` 个,如果超过,建议将其中关系密切的返回值参数封装成一个结构体。
**格式化要求**
提交代码时,必须使用 `gofmt` 对代码进行格式化
提交代码时,必须使用 `golint` 对代码进行检查。
字符串形式的 `json` 时,使用反单引号,而不是双引号。
```go
"{\"key\":\"value\"}"
```
改为格式更清晰的:
```go
`
{
"key":"value"
}
`
```
如果有其他建议欢迎补充
- 安装与下载
- 投稿大纲
- 第一章、跑起来
- 为什么要学 go 语言?
- 让你的 Golang 项目在 IDE 里跑起来
- 第一个 go 程序
- go mod最佳实践
- 第二章、语言基础
- 声明【变量】的各种方式
- 常量+各种类型转换
- switch和type switch
- 循环语句的多种形式、死循环、break/continue
- range深度解析
- 第三章、函数和容器
- 函数简单使用和基本知识解析
- 匿名函数和闭包
- 可变参数
- 集合(map)
- 数组和切片
- 切片知识补充
- 第四章、指针、结构体、接口和异常处理
- 指针讨论
- 结构体
- 接口与多态
- 异常处理
- 第五章、再学一点运用自如
- 其他常用操作
- Go文件操作大全
- Go代码基本标准规范
- 切片排序sort包的使用
- Golang打镜像Dockerfile的写法
- 等待goroutine完成任务,循环中使用goroutine
- kinping.flag包读取命令行配置