带你读《代码管理实践10讲》——三、评审协同如何提效,我们团队的4点思考

简介: 带你读《代码管理实践10讲》——三、评审协同如何提效,我们团队的4点思考

 1. 为评审的生命周期提速

一般情况下,代码评审通常是在特性分支推送之后,由作者在页面进行创建。时至今日,越来越多的产品选择支持基于命令行直接创建和更新代码评审。当然除了追求速度和操作上的便利之外,最核心的问题还包括谁能创建代码评审?谁能向仓库中贡献?的问题, 我们在2020年对外公开了内部实现的 AGit-Flow 的集中式工作流,亦或称之为 云效代码管理 Codeup 主干研发模式。

 

 

既然有了 AGit-Flow,那么有没有一种方式,进一步的在不需要安装任何工具的情况下,执行git push就可以自动创建或更新评审?这样的好处有:

 

∙        向仓库贡献代码,发起代码评审,不再需要创建新的分支,直接在主干上进行修改并提交即可,避免了冗余的分支管理成本。

∙        git push 不再直接推送分支内容,而是创建/更新对应的代码评审。

∙        如果需要发送新的补丁,本地提交后继续执行 git push,对应已发起的评审会自动更新。

∙        向仓库贡献代码不再需要授予开发者权限,拥有仓库的浏览者权限即可贡献代码,而且贡献的代码需要经过评审才能正式合入代码库。因此可以将直接写库的权限最小化到少数管理者手中,而大部分开发者仅需要读权限即可,降低了代码库被意外修改的风险。

∙        支持指定 push option 来控制具体的推送行为。

关于推送评审,我们已经在2022年年底发布上线,具体可参考云效官方文档:
https://help.aliyun.com/document_detail/460320.html

 

扫码查看推送评审模式实操演示:

 

image.png

2. 化零为整,评审操作更专注

经常参与评审的同学一定有一些体感,那就是完成一次评审通常需要完成一系列较为松散的操作,其中主要包括:

 

∙        创建草稿评论。

∙        发表评审意见。

∙        回复某一评论。

∙        增加评审人和抄送人。

针对本次评审过程,发表全局评论作为最终表态。

 

这些操作通常都是评审人较为关注的功能点,为了进一步提升评审者的评审效率,化零为整是十分重要的手段,具体解决两类问题:

∙        将评审过程中各类常见操作进行聚合。

∙        支持发表评审意见前,再次 review 和修订本次评审操作的关键内容。

云效 Codeup 的新版代码评审通过统一评审操作视图的产品支持,大幅提升在评审意见发表和review环节的评审效率:

  image.png

3. 化繁为简,评审待办更直观

对于评审作者,当提交当前补丁之后,在最终合并之前,可能要经过多轮的 review,需要关注的点通常比较繁杂,例如:

 

∙        待解决评论的及时回复。

∙        持续集成的运行结果。

∙        代码中存在的安全漏洞。

...

 

在代码评审的过程中,作者不仅需要提交和推送代码,还需要回答问题、解释代码、接受评审意见、修复测试用例和漏洞等等。针对这种情况,云效 Codeup 的新版代码评审中提供了 Todolist 功能组件,帮助评审作者简化繁杂的各类待办信息,更高效的解决当前评审的遗留问题,该功能主要包括:

 

∙        快速浏览和定位待解决评论。

∙        快速浏览和定位自动化检测问题。

∙        快捷键支持。

image.png

4. 化腐为奇,评审评论可追溯

在代码评审中,评论需要具备以下功能:

 

∙        支持代码文件的行内评论。

∙        评论的跳转和定位。

∙        支持代码评审的全局评论。

∙        支持创建草稿评论。

∙        评论支持markdown格式。

∙        支持动态表情评论。

云效 Codeup 的新版代码评审中除了以上能力的支持之外,还另外支持追溯 outdated 评论(例如:早前补丁中对应行存在评论,但在当前补丁对应行已经被删除或修改,此时评论仍然有价值被当前评审者关注)。

 

image.png  

与此同时,我们提供了几个充满个性的动态表情,帮助研发团队打造轻松有趣的评审氛围。

 

image.png

 

相关实践学习
2分钟自动化部署人生模拟器
本场景将带你借助云效流水线Flow实现人生模拟器小游戏的自动化部署
SVN版本控制系统
SVN是现在软件开发之中的主流软件版本控制工具,在工作之中利用SVN可以有效的解决多人开发的代码管理问题,本课程将为读者讲解SVN服务器的配置以及基于MyEclipse的SVN客户端插件的配置与使用,并且在讲解之中着重讲解了冲突的产生于解决。
目录
相关文章
|
6月前
|
Kubernetes 开发工具 git
带你读《代码管理实践10讲》——一、量体裁衣,寻找适合你团队的代码协同模式(1)
带你读《代码管理实践10讲》——一、量体裁衣,寻找适合你团队的代码协同模式(1)
131 2
|
6月前
|
持续交付 开发工具 Android开发
带你读《代码管理实践10讲》——一、量体裁衣,寻找适合你团队的代码协同模式(2)
带你读《代码管理实践10讲》——一、量体裁衣,寻找适合你团队的代码协同模式(2)
120 0
|
6月前
|
Linux 开发工具 Android开发
带你读《代码管理实践10讲》——二、新一代高效Git协同模型AGit-Flow详解
带你读《代码管理实践10讲》——二、新一代高效Git协同模型AGit-Flow详解
87 0
|
6月前
|
敏捷开发 安全 测试技术
带你读《代码管理实践10讲》——五、重评审还是轻评审,企业该如何选择代码评审模式?
带你读《代码管理实践10讲》——五、重评审还是轻评审,企业该如何选择代码评审模式?
119 0
|
6月前
|
Java Serverless Maven
云效代码管理问题之代码仓库配置需要评审如何解决
云效仓库是阿里云提供的代码托管和版本控制服务,支持Git等多种版本管理工具;本合集聚焦于云效仓库的使用技巧、团队协作流程以及常见问题解答,旨在帮助开发者更高效地进行代码管理和协作开发。
1842 0
|
1月前
|
安全 开发工具 数据安全/隐私保护
代码管理记录(一): 码云Gitee代码提交和维护
本文介绍了Gitee平台,提供了代码托管服务,并详细说明了从新建仓库到代码提交的步骤。
59 1
代码管理记录(一): 码云Gitee代码提交和维护
|
1月前
|
开发工具 git Python
代码管理记录(二):Github代码上传实操
本文是关于如何使用Git将本地代码上传到GitHub的实操指南。介绍了Git的基本概念、安装方法,并通过详细的步骤指导用户从GitHub创建仓库到使用Git命令初始化、添加、提交代码,最终将代码推送到远程仓库。同时,还汇总了一些常见的错误及其解决方法。
36 2
代码管理记录(二):Github代码上传实操
|
6月前
|
Linux 网络安全 开发工具
【超详细!超多图!】【代码管理】Python微信公众号开发(3)- 服务器代码上传Github
【超详细!超多图!】【代码管理】Python微信公众号开发(3)- 服务器代码上传Github
145 0
|
6月前
|
SQL 安全 算法
带你读《代码管理实践10讲》——七、3类代码安全风险如何避免?
带你读《代码管理实践10讲》——七、3类代码安全风险如何避免?
162 0
|
6月前
|
存储 运维 监控
带你读《代码管理实践10讲》——九、打通源码!高效定位代码问题
带你读《代码管理实践10讲》——九、打通源码!高效定位代码问题
83 0