建立“下一可审查 diff”的概念
Meta 技术研发团队表示,关于这个概念的灵感,来自视频流服务 。由于每集视频之间会无缝过渡,所以流媒体服务平台上的观看体验总是丝滑顺畅 。那能不能把同样的体验引入代码审查当中?通过 diff 队列,他们建立起了类似的 diff 审查流体系,鼓励审查者们充分利用自己的时间和精力 。
于是乎,“下一可审查 diff”的概念由此诞生 。研发团队使用机器学习识别出审查者当前最可能想要审查的 diff,并在其完成当前代码审查之后,立即把感兴趣的下一 diff 呈现出来 。通过这种方式,我们就能轻松把 diff 审查循环起来,同时避免审查者接触到与其不相干的 diff 。
新方案上线之后,研发团队发现,日均审查操作(包括 diff 接纳量、提交量等)总体增长了 17%,而使用此流程的工程师们执行的审查操作比未使用的审查员多出 44%!
改进审查者匹配效果
可以看到,新方案的关键在于为 diff 选择适当的审查者 。提交者当然希望审查者能够更好、更快地审查自己的代码,特别是要得熟悉相关 diff 的内容和作用 。从以往的情况看,Meta 的审查者推荐器会根据一组有限数据给出匹配建议,但这往往无法适应新 diff 的需要,而且在工程师们轮换岗位后又得重新适配 。
为此,研发团队建立了新的审查者推荐系统,将工作时间感知和文件归属信息结合起来,这就让有空审查 diff、擅长审查特定 diff 的审查者更可能被选中 。我们重写了建议支持模型,添加了回溯测试和自动再训练等功能 。
结果就是,一天之内 diff 审查量增加了 1.5%,而且前三条推荐的准确率(即实际审查者来自前三条推荐)的概率也从不到 60% 增长至近 75% 。除此之外,新模型还将推荐速度(第 90 百分位延迟)提升了 14 倍!
用 Nudgebot 解决 Diff 积压问题
我们知道工程师们最不喜欢的就是 diff 积压问题 。这不仅让人不爽,而且审查速度过慢还会令代码过时,导致开发者在不同上下文间来回切换、影响整体生产力 。为了解决这个问题,Meta 研发团队构建了 Nudgebot,其灵感来自微软所做的相关研究 。
对于需要额外长时间审查的 diff,Nudgebot 会首先确定最适合的审查者子集,然后向他们发送一条聊天 ping,其中包含 diff 的部分上下文和快速跳转至审查流程的操作选项 。
Nudgebnot 试验也取得了不错的效果 。所有 diff 的平均审查时间缩短了 7%(不含周末时段),审查周期超过 3 天的 diff 比例也下降了 12% 。
目前此功能已经单独发布:
参考链接:
/
声明:本文为InfoQ翻译整理,未经许可禁止 。
点击底部阅读原文访问 InfoQ 官网,获取更多精彩内容!
今日好文推荐
阿里云李飞飞:用5年让PolarDB成为“国货之光”| 开源人说
谷歌计划裁员上万人:利用刚上线半年的新绩效系统解雇6%“排名垫底”员工
世界杯将是压垮 Twitter 的最后一根稻草?历经马斯克“血洗”后,全世界在等 Twitter 宕机
34年换5个技术方向, 金山办公不想停止“折腾” | 卓越技术团队访谈录
以上关于本文的内容,仅作参考!温馨提示:如遇专业性较强的问题(如:疾病、健康、理财等),还请咨询专业人士给予相关指导!
「辽宁龙网」www.liaoninglong.com小编还为您精选了以下内容,希望对您有所帮助:- 缺少对象 代码0 怎么解决啊?
- 火焰纹章圣魔之光石金手指第一人经验代码多少
- 马克斯韦伯提出引料盾什么理论
- 中节能太阳能股份有限公司
- 怪物猎人P3自动防御护石金手指代码是多少 怎么?
- 分手后女孩提出继续陪伴男孩身边,谁知再见成了不再见
- 证券代码:688219 证券简称:会通股份 公告编号:2022-054
- 男子以隐私为由不给女友检查手机,女友提出分手,便含泪走出宿舍
- 深圳国债逆回购的代码有哪些?
- 国债逆回购的代码是多少?