一、代码提交规范化的目的
- 为了部门提交代码信息格式规范化
- 为了更好的追溯代码、筛选
- 为了更加快速的定位提交代码所涉及的范围和实现功能
- 为了后续代码的Review、自动生成ChangeLog
二、代码提交信息规范模板
本模板修改自《Angular代码提交规范》,分为Header、Body两大块内容,去除Footer,这一部分我们并不常用
[Bug修复](4.27.10):http://jira.xyz.cn/browse/XYZDEV-9043
原因分析:需求内容不完整或错误
Header
1、提交类型
- 【新增功能】-【新的功能点、新的需求】
- 【Bug修复】-【修复的Bug:现网发散Bug、测试阶段的Bug、验收阶段的Bug】
- 【文档修改】-【只是修改了文档:注释、README.md等】.
- 【样式修改】-【不影响代码功能的修改:CSS样式、代码格式化等】
- 【代码重构】-【代码更改既不修复错误也不添加功能】
- 【性能优化】-【代码更改可以提高性能】
- 【测试代码】-【添加缺失测试或更正现有测试】
- 【编译代码】-【影响构建系统或外部依赖项的更改:build.gradle、package.json、Podfile等】
- 【持续集成】-【我们的CI配置文件和脚本的更改:Jenkinsfile等】
- 【回退更改】-【代码回退提交更改】
- 【其他提交】-【除以上所有类型之外的提交更改】
2、涉及范围
这里我们以版本号划分范围,此次提交代码所涉及到的发布版本。如果涉及多个版本则以4.14.10~4.27.10表示
3、简要描述
(1)如果提交类型是【Bug修复】,则简要描述直接填写Bug的JIRA或者Sentry链接
(2)如果提交类型是【新增功能】,则简要描述填写对应需求的JIRA链接或需求的详细描述,如需求过于庞大,则应拆分成小的功能点提交代码,便于Review人员审核,也有利于Bug的回溯。
(3)如果提交类型是其他类型,则简要描述根据你的理解,尽量用简短的文字描述出此次代码提交的目的
Body
1、详细描述
这边的详细描述,力争语句表达清晰此次提交的代码具体涉及的功能点、修改、原因分析等,如功能点很多则应使用序号列出代码所涉及的功能点。如下所示
1、安心管选择对象页修改
2、家庭成员、车辆、房屋的列表、编辑、新增页修改
3、安心管关系对象重定义
三、IDEA 插件集成
为了规范成员的提交代码信息,我新写了一个IDEA插件来帮助快速生成代码提交信息模板。
IDEA插件集成
目前已经提交IDEA插件市场,搜索Commit-Message-Create或者使用下面提供的Jar包,自行百度集成。
链接:https://pan.baidu.com/s/1NGZOryuDb_pe5YOOj3Ppxg
提取码:wlj4