程序员优化了一个BUG差点说不清楚客户以为他制造了一个BUG

小火箭

发现BUG并修复

事情是这样的,我们公司之前给一个工厂研发了一款视觉检测软件,大致功能就是这个工厂生产的一个产品,需要检测产品宽度,以及产品的其他几个地方的宽度,具体参数以及是什么产品我不能说得太细,望理解!

这个软件已经给客户部署一年左右了,一直在调试,因为有误检的情况存在,客户一直不愿意验收,做过视觉软件的应该清楚,视觉软件验收一般是比较困难的,这我们得清楚有这个情况在。因此,有时候我会跑到客户那现场看软件运行的效果。

在一次去客户那看效果的时候遇到了一些其他情况,然后我就去看产品代码,偶然之下,我看到了代码中存在一个BUG,那就是软件给的测宽结果在算的时候不严谨,可能会出现检测出来的宽度有正负误差。

但是,因为这个软件不是我写的,而且,本着“软件能跑就不要动”的原则,我去请教了当时写这个软件的另外一个程序员,以确认他当初写这个软件的时候不是故意为之。

人家盯着代码想了想,也承认了自己当初写代码的时候考虑不周,这的确是个BUG!这里需要提一句,之前有误检的情况,但是不是因为这个问题导致的。然后我再三确认,如果这是个BUG他修不修,因为客户现在并没有反馈说检测产品的时候宽度检测结果有误差。

他想了下,决定还是修复这个BUG,然后我就把客户那边的软件给更新了。

客户以为出了新BUG

谁知道,在接下来的日子里,客户那边产品的合格率就一下子降了下来,客户知道我们动了代码,然后就问我是不是代码改出BUG了。我跟客户解释半天,客户才明白出了什么情况。

跟客户一番沟通后,客户跟我说,他们生产的产品有误差很正常,一般不会被认为是瑕疵品,以前靠人工测量的时候,人工测量都有一个误差值,在误差值之内,一般都会认为是合格品,除非误差太大了。

这就碰巧了,以前的算法结果虽然有误差,但是因为不够精确,反而让一些有误差的产品通过了检测,而当我们把代码修复后,测量结果精确了,反而让检测合格的条件变得苛刻了,致使这个BUG在修复后,客户的产品合格率就降了下来。

但是,作为一个程序员,我们当然不能坐视BUG的存在,所以我想了一个折中的办法,那就是设置容差值,意思就是在每个测量的标准值后面再加一个值,用来表示允许的正负误差值,客户想设置成多少就设置多少,容差值越高,检测通过率就越高,这个东西本来就是在软件设计的时候就加进去了,只不过这个值一直是空的,没有设置。

设置完以后,客户生产的产品合格率就又正常了。如果我当初不修复那个Bug,估计客户也觉察不到, 如果我们软件最开始的时候没有设置容差值,那么后面大概率客户会找我们麻烦,让我们把检测条件适当放宽。

结语

其实,容差值在视觉检测软件里,一般不是迫不得已,是不会启用这个参数的,因为可能会影响到合同里的约定,我们也不想自找麻烦,但是,只要客户同意即可。

所以,有时候代码中看似有BUG存在,只要客户用着好好的,就尽量不要动代码。

尤其是像我们这些做工厂软件的,软件出一丁点问题都可能影响人家生产,生产车间的机器停工一小时,所产生的损失都是比较大的。虽然修复BUG是好心,也是责任,但是客户用着没问题,我们有时候真的要谨慎考虑,即使要修复BUG,也得等到合适的时机!

<End/>

我是开发者小程序上线啦,专为开发者设计,内容丰富,点击下方图标可直接访问!关注开发,更关注开发者!欢迎大家使用!

版权声明:
作者:小火箭shadowrocket
链接:https://www.shadowrocket888.top/332.html
来源:小火箭官网
文章版权归作者所有,未经允许请勿转载。

THE END
分享
二维码
< <上一篇
下一篇>>