程序员们注意了,这3句代码就能造成百万损失,大意不得

做程序是一门严谨的活儿,一不小心,一个指令错了就可能大相径庭,造成了巨大的错误,今天就来盘点一下一些比较经典的错误,以防其他程序员以后再犯类似的错误,这都是一些血淋淋的教训,如果今天能够看到,那么就给自己庆幸一下,如果你也知道这些,觉得自己不可能会犯这样的错误,那么就当温故一下吧。在这里相信有许多想要学习前端的同学,关注小编文章最后面文字,可免费领取一整套系统的web前端学习教程!

案例 1

一个PHP程序员,接到这样一个任务,要去修改一个shell脚本,领导给他的需求是这个脚本所做的事情是 定期清理日志文件和一些测试文件,现在改为只清理日志文件,不清理测试文件了,在接到这个任务后,这个php程序员爽快的答应了。

打开脚本后看到里面有这样一行

rm test log

程序员看了暗自窃喜,不就是注释掉test嘛,这还不容易,于是乎这个php程序员用php的多行注释注释掉了test,改后如下:

rm /* test */ log

然后保存了脚本,就大功告成,后来这个程序员的境遇如何我不知道,但是我想肯定不会很好了吧!

 

案例2

一个电商网站,要求对订单状态为0的订单进行占库存的动作,研发这块的程序员是这么写代码的

if($data['status'] == 0){

//占库存的代码

}

而他忽视了一个环节,数据库中的status状态除了有具体数值外,还有好多部分是空的,而他却没想到php中这些空值也会按成0来算,并且他用的是 "==",如果用了"==="会好一点,比较严谨的做法是。

if(isset($data['status']) && $data['status'] == 0 ){

//占库存的代码

}

或者是

if(isset($data['status']) && $data['status'] === 0 ){

//占库存的代码

}

看是一个小小的错误,就造成了巨大的损失,一下子搞的网站80%商品库存不足,其实库存是相当充裕的。程序是严谨的,我们在写程序之前要对临界情况多做测试,千万别闹出这样笑话。

 

案例3

这是一个由于代码不严谨造成整表清空的案例,仔细看下面这段代码

$sql = ‘delete frrom cust’;

if(isset($num)){//这是一个比较坑人的点,并不是所有情况都能进入if里面

$sql .= ' where num ='.$num;

}

query($sql);

当页面那边什么参数都没传的情况下,再加上程序员没做任何校验,那么这段代码就是相当的危险了,造成了对整表删除的风险。

 

大家仔细看看上面的案例,虽然改动很小,差别很小,不仔细看还一下子看不出毛病来,但是这些代码如果放在具体生产环境,那可都是至少百万级别,千万级别的损失啊,自己多少年的薪水才能赚回来呀,因此在此告诫程序员朋友们,做事一定要严谨啊,千万不要一失足顿成千古恨啊!在任何时候,任何情况一定要把细心认真放在首位,因为随时都有可能发生让你后悔一辈子的事情。为了不让这种情况发生,时刻铭记,谨慎,再谨慎!

如果先想选择学习前端技术,并且想在这个行业走下去。 1、你要规划好你未来的学习计划。 2、学习前端不要急于求成,一定要一点一点的磨练自己的基础不断的丰满自己打磨自己。 3、要有一个良好的学习氛围。要有一个自己的学习团队,这样大家可以融会贯通.有想交流的可以加QQ群:688676066

写在最后:

很多人都知道我是学全栈的,都天真的以为我有全套的前端、网页制作等视频学习资料。我想说你们是对的,我的确有前端的全套视频资料。


猜你喜欢

转载自blog.csdn.net/qq_40433465/article/details/80381676