3.6 KiB
3.6 KiB
05-代码管理规范
1. 代码仓库设置
管理工具
- 【强制 C1】 必须使用 Git 管理代码
命名规范
- 【强制 C1】 名称仅使用英文字母、数字、中划线(
-);首字符仅为字母 - 【强制】 禁止使用下划线
_和特殊字符 - 【强制 C1】 项目内全部仓库命名规则必须一致(全驼峰/全大写/全小写选一种)
必要文件
- 【强制 C1】 每个项目必须有
README.md(包含工程介绍、结构说明、文档地址) - 【强制 C1】 除文档仓库外,必须有
.gitignore
仓库划分
- 【强制 C1】 核心代码和非核心代码分库管理
- 【强制 C1】 每个仓库仅使用一种技术栈
- 【推荐 C0】 每个仓库不超过 5 个微服务
仓库大小
- 【强制 C1】 每个仓库不超过 1GB
权限设置
- 【强制 C1】 遵循权限最小化原则
- 【强制 C1】 仅项目负责人/管理员可创建仓库
- 【强制 C1】 离职/离开团队必须收回权限
- 【强制 C1】 仓库管理员不超过 3 人
- 【强制 C1】 禁止外协开发人员设为仓库管理员
- 【推荐 C0】 严格控制 master/develop 分支写权限
2. 分支设置
必要分支
- 【强制 C1】 必须有主干分支(master)
Git Flow 工作流(推荐 C0)
| 分支类型 | 名称格式 | 说明 |
|---|---|---|
| 主干分支 | master |
对外稳定发布版本 |
| 开发分支 | develop |
包含全部最新特性 |
| 紧急修复 | hotfix-* |
以 master TAG 为基础修复 |
| 集成测试 | release-* |
以 develop 为基础,验收后合入 master |
| 功能分支 | feature-* |
以 develop 为基础,完成后删除 |
代码评审
- 【强制 C3】 所有提交必须经过代码评审
- 两种模式:单分支 code review 或多分支 merge request
3. 开发人员操作规范
用户信息设置
- 【强制 C1】 须与远端仓库账号、邮箱一致
- "【强制 C1】** 密码不少于 8 位,包含数字、大小写字母及特殊符号
Commit 规范
- 【强制 C1】 保持清晰的 commit 历史
- 【强制 C1】 推送前合并精简 commit(一个任务不超过 5 个 commit)
Commit Message 格式(C3)
type(scope): subject
%workItemId
| type | 含义 |
|---|---|
feat |
新功能 |
fix |
修复 bug |
docs |
文档变更 |
style |
代码格式 |
refactor |
重构 |
perf |
性能优化 |
test |
增加测试 |
build |
构建工具变更 |
revert |
撤销提交 |
chore |
辅助工具变动 |
示例:%1011 fix(core): set a to b
代码文件约束(C0)
- 【强制】 不允许提交含数据库账号、密码等敏感信息的文件
- 【强制】 不允许提交与项目无关的二进制文件
- 【强制】 单个文件不超过 10MB
- 【强制】 第三方依赖包必须引用制品库,不得直接放入仓库
- 【强制】 不允许提交 pdf/doc/ppt/xls/压缩包/音视频等文件
4. 代码版本管理
版本号
- 【强制 C1】 发布版本必须打 tag
- 【强制 C2】 版本号格式:
X.Y.Z(主版本.次版本.修订号)- 主版本号:不兼容的 API 修改
- 次版本号:向下兼容的功能新增
- 修订号:向下兼容的问题修正
- 【强制 C1】 制品版本号与代码版本号一致
版本信息
- 【强制 C3】 Tag Message 记录版本日期、说明
- 【强制 C3】 Release Notes 记录 feature、fixed、关联任务