围棋项目开发期间的管理规范
浏览:894 次

平台项目管理规范(Go语言版)
1编码规范
Go版本
go1.13.4
开发环境
linux/mac/windows系统
Git版本
2.7.3+
需要去fmt
需要
是否需要代码检查
需要
需要golint
需要
是否需要本地自检
需要
你需要整理一下吗;go mod供应商
需要
平台目录结构:
app接口
API接口文档(goSwagger)
APP-META公司
前端页面条目
箱子
项目编译生成的二进制文件存储目录
配置
平台支持的模板配置模板
控制
平台app资源模板文件
守护进程
平台的核心代码实现
文档
相关作业文件
乱劈
用于编译的脚本文件
包装
平台使用的公共方法
小贩

平台所依赖的位置
Dockerfile文件
平台项目的容器文件
生成文件
平台编译文件
go.mod公司
平台模板根
go.sum公司
平台依赖性包
主.go
平台主要功能入口
main_测试.go
平台单元测试
1.1引入包规范
项目开发过程需要符合社区制定的项目规范和标准:
导入系统包
包
导入项目包
包
导入第三方包
我们需要知道,系统的建设,尤其是云Poc项目的开发和实施,需要充分满足社区的发展需求。在系统包导入过程中,我们需要根据系统包项目包的第三方包导入系统包。在完成三种类型的引导包之后,我们需要通过换行来区分包级别。
代码示例:
导入(
“strconv”
“时间”
“gitlab.alibaba-inc.com/cloud-poc/poc-server/apis/types”
“gitlab.alibaba-inc.com/cloud poc/poc server/daemon/config”
“gitlab.alibaba-inc.com/cloud poc/poc server/daemon/mgr”
“gitlab.alibaba-inc.com/cloud-poc/poc-server/pkg/metrics”
“github.com/prometheus/client_golang/prometheus”
)
1.2命名规范
1.1.1结构字段命名
首先,判断结构或字段的使用范围,保持最小操作的命名标准,尽可能使用私有变量、结构和方法调用函数函数。
//deploymentMetrics是部署统计度量结构,
//结构统计部署生命周期信息。
类型deploymentMetrics结构{
//createDeploymentCount是从数据库创建系统部署。

创建部署计数*prometheus.CounterVec
//existedDeploymentCount是系统现有部署计数。
现有部署计数*prometheus.GaugeVec
//deploymentDbCount是从数据库创建系统部署。
部署DbCount*prometheus.GaugeVec
//deploymentApplyTime是数据库中的系统部署应用时间。
部署应用时间*prometheus.GaugeVec
}
第一个字母是小写的,以避免安全调用。为操作声明全局专用变量。
1.3注释规范
查看代码注释文档信息(示例代码如下):
1.3.1功能代码规范和标准
双斜线+空格+函数名+函数说明+英文逗号结尾
//checkoutDeploymentApplyTimeMetrics用于计算app部署运行时间。
注释说明:所有注释都需要在注释字段或方法上方进行注释。所有注释都需要以函数名开头,然后用英语解释。需要一个简单明了的英语注释来解释代码的含义,最后以英语句点结束。
//checkoutDeploymentApplyTimeMetrics用于计算app部署运行时间。
func签出部署应用时间度量(m*Manager){
部署查询:=m.deploymentApplyTimeArray()
对于_,v:=范围部署查询{
1.3.2结构字段代码注释规范
注释位于结构上方:
双斜杠+空格+结构名称+英文注释内容+英文逗号结尾
//deploymentStatistics是部署统计结构。
类型deploymentStatistics结构{
提供程序字符串`json:“Provider”`
SoftwareName字符串`json:“software_name”`
SoftwareVersion字符串`json:“software_version”`
SpecUID字符串`json:“spec_uid”`
状态字符串`json:“Status”`
计数int32`json:“Count”`
}
第二类注释用于结构中的字段(如上所述)
//createDeploymentCount是从数据库创建系统部署。
创建部署计数*prometheus.CounterVec
1.4标签规范
如果配置中存在多个映射关系,例如字段映射到json或yaml,并且存在多个数据结构映射关系,则不同类别的映射字段用空格区分。
//Config包含守护程序的所有配置。
类型配置结构{

HomeDir字符串