带你读《代码管理实践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客户端插件的配置与使用,并且在讲解之中着重讲解了冲突的产生于解决。
目录
相关文章
|
5天前
|
运维 测试技术 持续交付
代码管理的艺术:你的团队是否还在为 Git 分支管理头疼?
本文回顾了作者从2~3人初创团队到百人技术团队的经历,分享了代码管理工具从无到SVN再到Git的演变。重点介绍了Git Flow和GitHub Flow两种常用的Git分支管理模型,分析了它们的适用场景和优缺点。Git Flow适合中大型项目,而GitHub Flow则更适合小型团队和Web应用开发。
18 0
|
7月前
|
Kubernetes 开发工具 git
带你读《代码管理实践10讲》——一、量体裁衣,寻找适合你团队的代码协同模式(1)
带你读《代码管理实践10讲》——一、量体裁衣,寻找适合你团队的代码协同模式(1)
137 2
|
7月前
|
持续交付 开发工具 Android开发
带你读《代码管理实践10讲》——一、量体裁衣,寻找适合你团队的代码协同模式(2)
带你读《代码管理实践10讲》——一、量体裁衣,寻找适合你团队的代码协同模式(2)
123 0
|
7月前
|
Linux 开发工具 Android开发
带你读《代码管理实践10讲》——二、新一代高效Git协同模型AGit-Flow详解
带你读《代码管理实践10讲》——二、新一代高效Git协同模型AGit-Flow详解
101 0
|
7月前
|
敏捷开发 安全 测试技术
带你读《代码管理实践10讲》——五、重评审还是轻评审,企业该如何选择代码评审模式?
带你读《代码管理实践10讲》——五、重评审还是轻评审,企业该如何选择代码评审模式?
125 0
|
7月前
|
Java Serverless Maven
云效代码管理问题之代码仓库配置需要评审如何解决
云效仓库是阿里云提供的代码托管和版本控制服务,支持Git等多种版本管理工具;本合集聚焦于云效仓库的使用技巧、团队协作流程以及常见问题解答,旨在帮助开发者更高效地进行代码管理和协作开发。
1853 0
|
7月前
|
存储 前端开发 开发工具
前端开发中的Git版本控制:构建可靠的协作和代码管理
前端开发中的Git版本控制:构建可靠的协作和代码管理
88 0
|
7月前
|
项目管理 开发工具 git
版本控制与源代码管理:在 Visual Basic 项目中使用 Git
【4月更文挑战第27天】本文介绍了在Visual Basic项目中使用Git进行版本控制和源代码管理的重要性。Git作为一个流行的分布式版本控制系统,具备分布式架构、高效性能和强大分支管理等特点。在项目中,需先安装Git,然后初始化仓库、添加文件和提交更改。常用操作包括查看状态、日志、创建及切换分支和合并分支。团队协作时,借助远程仓库和推送拉取命令实现代码共享。虽然Git有学习曲线,但其优势在于强大的功能、灵活性和社区支持,能提升开发效率和代码质量。通过学习和实践,开发者可充分利用Git优化协作和项目管理。
81 1
|
3月前
|
SQL 缓存 测试技术
代码管理工具之GIT:重新温习一下
代码管理工具之GIT:重新温习一下
|
开发工具 git Windows
用GIT+tortoiseGIT 轻松玩换代码管理
用GIT+tortoiseGIT 轻松玩换代码管理