程序员为什么要一直写 bug ,不能一次性写好吗?

最近,在刷某乎看到这样一个提问:

程序员为什么要一直写 bug ,不能一次性写好吗?

我满脸问号,为什么会有这样的问题?看到这个问题,我就想发出这几个疑问(对不起, etc 自动抬杠了):

  • 写字为什么要一直写错用橡皮擦/透明胶,不能一次性些好吗?
  • 人为什么要经常吃饭,不能一次性吃饱吗?
  • 情侣为什么要分手,不能直接恋爱结婚吗?
  • ……

其实人写出 bug 是必然的,毕竟人无完人,总会有注意力不集中的时候,哪怕是水平高的程序员也难以避免,就比如之前讨论度很高的漏洞——Apache Log4j 2 远程代码执行漏洞

只不过有的 bug 致命,有的 bug 危害小罢了!

这里,我忍不住想分享这位程序员部分“断送未来”的故事(当做一个娱乐消遣,请勿模仿!内容出自某乎:拂髯客)。

事故一

毕业了直接进了某运营商工作,有一天接了一个任务,要求写一个群发通知短信的代码。当天大脑短路没改代码,接上了生产环境直接撸,代码循环所有运营商内手机号发送最新优惠活动。

编码→测试→完蛋,写成死循环了。发现问题了之后及时停止程序,给数据库中的第一个号码发了一千条短信。

第二天失业。

事故二

进到了某智能卡卡商公司开发食堂智能卡,代码测试都很正常

就是并发承载能力一般,不过同时刷个四五笔还是可以的。

本着实用主义精神、性能无所谓能用就行的态度,以及咨询了食堂情况,信心满满下发到某高校食堂直接使用。

第二天失业,因为学生发现在食堂吃饭刷了一定笔数之后,吃饭突然不花钱了。

看完这两个事故,你是不是秉着吃瓜的心态?所以,bug 虽然危险需谨慎,但也并不一定能 100% 避免的,更别说刚出社会、没有实战项目经验的应届毕业生了。

大家看到 bug 都会窝火,有的人会抱怨“这是谁写的”,好巧不巧,写出这个 bug 的人就是自己,小丑就是自己。

这几张图,也完美地展现了程序员发现 bug 的心境(头皮发麻):







这时候,我就不得不再提一次 Apache Log4j 2 远程代码执行漏洞。

这个漏洞在 2021 年 12 月 10 日被公开,让很多安全工程师、安全厂商、各企业的安全人员都难以入眠,立刻进入“战斗防御状态”。

蓝桥云课免费复现了这个漏洞,介绍该漏洞原理、利用方式、挖掘方式和修复方法。这个实验提供了可动手操作的在线实验环境,帮助你更加深刻的理解该漏洞。

如果你想深入理解 Apache Log4j 2 远程代码执行漏洞,免费学习哦~
Apache Log4j 2 远程代码执行漏洞详解

posted @ 2022-01-12 13:36  蓝桥云课  阅读(226)  评论(0编辑  收藏  举报