程序员写代码有bug是很难避免的,也是因为程序员的bug存在,才让另一个职业有了更好的发展,那就是软件测试行业。

但是程序员写bug,对于自己肯定是一件非常难忘的事情。

我记得我在之前做一个TP固件升级的功能,也就是开机的时候,把TP是固件bin文件通过I2C烧录进去,但是我忘记加了判断。然后,那是一个周六,我们硬件的同事给我打电话,说这次生成的100台设备好多TP表现不好,但是有的时候开机又好了。

然后赶紧回来加班检查代码,发现在做升级功能的时候,没有做版本判断,每次开机都升级,导致如果版本一致的话也升级,不仅让开机时间变慢了,还出现了各种异常的情况。

我见过的极品代码bug_c++

我见过的极品代码bug_java_02

好了,现在让大家看看一些比较有代表性的bug

我见过的极品代码bug_人工智能_03

这个是典型的通过测试,但是不可能通过压力测试,如果有做压力测试的话,这个bug应该是能被发现的。

我见过的极品代码bug_人工智能_04

还有一个因为类型转换导致火箭爆炸解体的bug

我见过的极品代码bug_java_05

这个不知道要杀多少个程序员祭天了。

但是这种出现重大bug的程序员,应该重点保护才行,因为这是花代价买回来的经验呀。

溢出的情况可以看这个例子

#include <iostream>
using namespace std;
int main () {
cout << sizeof(int) << endl;
int a = 0x7FFFFFFF;
cout << a << endl;
a = a +1;
cout << a << endl;
return 0;
}

我见过的极品代码bug_人工智能_06

我见过的极品代码bug_java_07

我见过的极品代码bug_人工智能_08


关注公众号,后台回复「​1024​」获取学习资料网盘链接。

欢迎点赞,关注,转发,您的每一次鼓励,我都将铭记于心~