编码中少部分人写commit message仅仅是为了要提交代码,也有一些同学清楚commit message是为了记录提交的内容是什么,但是业务中还是有很多不知道是做了什么的commit message.
比如:
看到这个message,根本不知道是什么体验问题,即使代码编写人本人,过一段也会不记得,必须通过读代码才知道修改了什么体验问题
再看一个commit message
这个message显然就很清晰,不看代码也知道做什么,message指明了哪个页面,实现了什么功能调整
我们要首先明确写commit message的作用
实际业务场景中好的message可以帮助我们
快速找到某一次功能调整,方便不用读代码就能确认一些变更或者再次对相关功能做调整
帮助理解代码,通过message知道修改的代码的功能,Review代码可以更高效
那么我们要如何写好commit message
首先格式建议
<type>(<scope>): <subject>
< 空一行 >
<body>
< 空一行 >
<footer>
body和footer可以不写
type用于说明commit的类别,具体如下
subject为修改内容的简要描述
我自己通常只用subject把修改内容描述清楚,不再使用body和footer
在开发中尽量一件事一个commit,也就是一个commit message描述一件事,(实践中也存在多个小功能一起commit的情况,我通常用分号分割不同功能。多个小功能一个commit的缺点是无法把其中一个功能cherry pick到别的分支)。要保证commit的功能逻辑是完整的,其他同事拉下代码业务可以正确运行。
写commit时,脑袋中的思考,是看message的人完全不知道上下文,不能预设别人知道什么,可以简写。也不可以预设看一下代码文件就知道是哪一块的功能
前端的很多业务,可以从页面分类、页面再到具体修改了什么功能的描述方式描述
还有两种场景,可以单独提一个commit来描述
1. 逻辑调整很复杂,专门一个commit提交,把复杂的逻辑描述清楚,方便后续Review时理解
2. 特殊的业务设定,单独提一个commit,后续读到这一块代码不理解,看下commit message就明白了
那么这些情况为什么不用代码注释,在《代码整洁之道》这本书详细解释了,注释不会有人维护,代码改了、删了,注释还会在。而commit message,是在看到还存在的代码时,去查看message。
对于前端同学,写message时,可以思考为在什么地方实现了什么功能。
如果你是一个精简写message的Coder,可以先改变为把修改描述清楚。如果你写message已经很清晰,可以考虑精简凝练描述,简明扼要写清楚实现的功能。
再也不要出现无意义的message...
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
扫码关注腾讯云开发者
领取腾讯云代金券
Copyright © 2013 - 2025 Tencent Cloud. All Rights Reserved. 腾讯云 版权所有
深圳市腾讯计算机系统有限公司 ICP备案/许可证号:粤B2-20090059 深公网安备号 44030502008569
腾讯云计算(北京)有限责任公司 京ICP证150476号 | 京ICP备11018762号 | 京公网安备号11010802020287
Copyright © 2013 - 2025 Tencent Cloud.
All Rights Reserved. 腾讯云 版权所有