描述

最近在工作场合中遇到这个问题,后端的CR每次都会拉前端和测试人参与,作为前端人员,我觉得是否参加这个会议需要权衡一下。现在来思考一波,主要从CR目的、特点、价值等角度考虑。

CR的作用

不谈具体的团队,单纯从软件项目过程来讨论CR的作用。CR的意思是code review,代码评审,其中涉及到两个角色:代码作者和评审人。代码评审的内容是代码评审人对作者编写的代码进行阅读,查找潜在的缺陷,提高代码质量。

代码审查的效率和有效性,维基百科是这样描述的:

  1. 潜在缺陷发现率在60-65%内;
  2. 75%的代码审查可以影响软件的可进化性/可维护性,但是对功能的影响不大

所以可以发现,代码审查确实对保证软件质量有一定的作用。具体来讲,CR的作用有以下几点:

  • 信息共享:实际实施了什么
  • 检查技术方案是否实施正确
  • 提高代码质量:识别错误、逻辑问题、未发现的边缘情况

从上面分析的CR作用来看,实际上,对前端有价值的作用点就是信息共享,可以让前端感知到后端代码具体做了什么,增加信息透明度,提高后续的协作质量。但是我觉得这个目的可以通过很多其他方式实现,比如展会、日会,而且,后端代码实际上做了什么,应该和技术方案设计保持一直,所以“让前端感知后端的代码具体做了什么”不应该在CR上获取,而是应该在技术方案设计评审上获取,如果后期技术方案变更了,前端也应该通过其他形式“被同步”。

这样来看,后端代码CR对前端的价值可以算得上没有。

同样的,后端代码CR对于测试人员也毫无用处。

为什么他们想要我们参与

但是为什么后端存在“需求我们参加”的诉求呢?我想了想,他们是希望前端能在会议中同步下具体接口的改动范围。这个诉求是没有问题的,但是不应该在CR上做。

总结

不需要