这里是普通文章模块栏目内容页
码农枪击案引发的代码规范之谈

这两天,小姐姐的朋友圈被“码农因为代码不规范问题枪击同事”的新闻刷了屏,几名程序员同事也借此吐了吐槽。但是,我们顺藤摸瓜找到了英文报道原文,发现外媒只是报道了枪击的事实,并没有阐明枪击的原因,也就是说,这个所谓“代码不规范”的原因,可能只是国内外网友的评论或猜测。 

start-image-500.jpg

start-image-500.jpg

枪击事件还原

据外媒报道,本周三上午,美国有一名程序员在位于威斯康星州的美国企业资源规划软件(ERP)开发商 WTS Paradigm 的办公楼枪击四名同事,导致一人情况危急,两人重伤。最终警方赶到并枪击了行凶者,该凶手被送往医院后不治身亡。

6d6b9e97-2ccf-44c9-9613-6db5718d98c9-AP_Wisconsin_Shooting.jpg

6d6b9e97-2ccf-44c9-9613-6db5718d98c9-AP_Wisconsin_Shooting.jpg

据了解,这名行凶者年龄为43 岁,是 WTS Paradigm 的程序员,已经工作一年多了。事后,其同事接受采访时表示事情“完全出人意料。我们都是搞软件开发的。我们是很友好的团队。”当时他们都在工作,枪声却突然响起……

事发后第二天,警方召开了记者发布会,在会上警方表示该行凶者没有犯罪记录,枪击事件发生时独自作案。目前,由于该行凶者已经离世,所以枪击的原因成了未解之谜。

为什么“代码不规范”成了枪击的诱因?

在朋友圈广为流传的某篇 10W+ 文章里,标题赫然写着“因代码不规范,码农枪击……”,似乎已经为事件盖棺定论,同时引发了一大波程序员的吐槽。在本文里,我们暂且不去讨论这起枪击事件的起因,毕竟斯人已逝,调查和取证本该是警察叔叔的事。这里我们就来说说,为什么“代码不规范”这条炮制出来的杀人诱因,竟然引起了那么多共鸣?

下载.jpg

下载.jpg

一个团队中程序员能力不一,有些团队或公司可能并不会可以要求代码规范。在前文提到的炮制理由中“不写注释、不遵循驼峰命名、括号换行,最主要还天天 git push -f 等”,还有不加大括号、不采用预编译模式、使用过时方法等,都是代码不规范的表现。

代码不规范不一定会引起枪击,但肯定会造成很多问题,甚至带来一些安全漏洞:

1. 影响团队合作,降低效率:对于共同完成项目的团队而言,如果没有统一的代码规范,每个人的代码会风格迥异,最终整合代码时,可能会出现看不懂命名,或者阅读过程不断询问的情况,导致团队效率低下,甚至造成成员之间的矛盾;例如 git push -f,把别人的劳动成果全部覆盖掉,出现一次就会遭到全员围攻;

2. 提高维护成本:代码不规范导致可读性降低,后期的代码维护会耗费更多人力甚至财力成本;一旦代码越来越长,最后的维护就难以为继,给运维人员造成很大负担;

3. 引发各种 bug:如果输入输出参数、异常处理、日志处理等没有规范,很容易导致大量低级 bug,还很难找到 bug 的原因;

4. 不利于代码审查,甚至造成安全漏洞:代码审查是纠正代码错误,保证开发周期安全顺利进行的重要一步。如果代码不规范,就会加重代码审查的工作量和难度,导致代码审查工作没有根据还浪费时间。某些情况下,代码不规范还会造成安全漏洞,此前 Morpheus 智能合约爆出的重大安全漏洞,就是大小写错误造成的;

5. 不利于程序员自身的成长:有些人可能没有意识到代码规范的重要性,有些人意识到了但由于项目时间紧、流程繁琐等原因而不去遵循。这跟当前开发流程与安全之间的关系很像。很多人为了速度而牺牲前期的必要流程,却给后续的工作带来了更多麻烦。其实,规范的代码有助于理解开发语言、模式和架构,也有利于提升开发水平。

对于公司和团队而言,制定符合实际情况的开发规范并非难事,重要之处在于每个人自己认识到规范的重要性,以及养成规范的习惯并坚持贯彻。

不管怎么说,这则半真半假的新闻至少引起了人们对代码规范和安全性的重视。

最后,祝逝者安息,生者自强。

收藏
0
有帮助
0
没帮助
0