为什么要进行code diff

codediff是软件开发中QA参与的重要环节,它帮助QA理解代码逻辑,发现潜在问题,如依赖关系梳理、空指针检查、功能冗余与测试点补充。此外,它还涉及代码结构优化、规范检查,从而提高软件质量和稳定性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

**

为什么要进行code diff

**
   QA参与 code diff是需要有代码基础的,最低要求需要能看懂代码逻辑发现错误。有些公司有硬性要求必须code diff,所以有的QA同学会被项目流程规范着去参与code diff,但在不清楚code diff目的的情况下,可能产出达不到预期。

如果QA同学负责发布,那就需要整理发布步骤,如果发布的工程之间有依赖关系,你如何确定依赖关系,来确定发布顺序呢?有的可能回答说听开发的,开发说的真的就是正确的吗?code diff产出其一就是梳理出依赖关系,给出正确的发布步骤。比如本次新增接口,通过code diff可以很清楚的知道哪个系统是服务提供方,哪个系统是服务调用方,这样就很容易梳理出先发哪个系统了。梳理出正确的发布步骤是code diff产出之一。

空指针引起的线上问题,大家是不是也遇到过呢,是不是很苦恼呢?sonar检查会帮我们消灭一部分空指针,但是有些空指针是sonar检查不出来的。这时候就需要我们通过code diff环节,来发现。变量使用前需要考虑是否会出现null。发现空指针也是我们code diff的产出之一。

有的开发工程师喜欢“买一送一”,产品经理的提出的功能,在基础上自主提供一个功能。这个功能你有可能在功能测试阶段是发现不了的。通过code diff讲解代码逻辑,就可以很轻松的发现对应代码的功能是否本次需求中需要的功能。本次代码是否都是为了实现本次需求功能,是否有多余的代码,也是code diff产出之一。

code diff还有一个特别重要的产出就是新增测试点。在code diff过程中你会梳理出未验证到的点,这个时候你就需要补充你的测试用例。及时发现遗漏的测试用例,也是code diff 产出之一。

能力强一些的QA还能提前发现代码结构设计不合理的地方,可以尽早的进行优化;一些初始值设置的不合理,比如并发线程池线程数初始化的值设置,最大线程数的设置等;比如redis设置值及有效期的原子操作;这些通过功能测试很难发现问题,但是在code diff环节就可以很容易发现。这也是code diff很重要的产出之一。

有的公司有代码规范,如果公司顺便提供对应的代码检查插件就可以省时省力,如果没有提供对应的工具插件,就需要在code diff的时候查看开发工程师的代码是否符合公司规范,这些都是需要从代码层面来看的。

……
 转自(https://www.cnblogs.com/ringbell/p/12398536.html)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值