“码农们工作中需防御性编程,避免写出优美清晰代码,确保即使被裁,留下的代码也难以维护。”
近日,一则关于用“防御性编码”应对大厂裁员潮的消息在职场社交平台引发热议。简单来说,就是程序员写一些别人看不懂,只有自己能看懂的代码,故意把代码写的很烂,难以维护。因此,从某种程度上提高自己在公司的“不可替代”性。
为什么会出现“防御性编程”呢?从大环境来说,最近,互联网行业的不少巨头纷纷宣布裁员,降本增效,这让许多程序员倍感压力。面对这一情况,码农们开始寻求一种称为“防御性编程”的方法,目的是为了给自己留条后路。就算自己被裁,也要保证代码不可维护。毕竟每个人都要为自己考虑:如果以后哪天被裁了,公司也难以快速搞懂这些代码,相当于给自己留了一个后手。
各种防御性编程的“奇技淫巧”
不仅如此,各个互联网大厂员工开始纷纷“整活”,还有人提出了各种防御性编程的“奇技淫巧”:
将简单问题复杂化:能使用简单方法完成的,却非要编写复杂的代码,使得问题变得更加难以解决。
过度设计:过度依赖设计模式,导致代码结构复杂,难以理解和维护。
简洁至上:尽可能将代码精简到极致,一个函数能搞定的,坚决不写第二个。
条件语句泛滥:滥用多层嵌套的条件语句,使得原本简单的逻辑变得复杂且难以理解。
命名随意:变量和函数命名过于随意,甚至使用无意义的字母组合,使得代码可读性极差。
关于这种自救式的做法,网友们在评论区可是炸开了锅,五花八门!
褒贬不一
有人说:企业降薪裁员就问心无愧,员工离职跳槽就导地绑架。
也有人说:以前觉得屎山代码是废物,现在才发现这都是前辈的高明之处。
还有网友说:这不会让程序员更金贵,反而会加速chatgpt之类的大模型编程进化的速度,毕竟,程序编程可不会加入防御性屎山代码。
还有网友说:裁员的原因,无非就是项目被砍了,或者公司经营不下去了,都经营不下去了,老板会关心这代码后续怎么维护吗,公司都没了。
还有网友自嘲:螺丝钉以为自己螺纹角度独特就不会被取代了。
还有网友说:我不用特意写所谓的“防御性代码”,我正常写的代码就是无懈可击的,过三个月自己都在骂。
也有网友直接用一张图展示了“防御性编程”的精髓:
不得不说,精髓get到了!
怎么看待这种“防御性编程”?
其实,程序员采用“防御性编程”的做法,主要是面对糟糕的职场环境下,给自己的一种自我保护策略,目的是营造自己在公司的不可或缺性,实则是一种本能的自保行为。毕竟谁不想给自己留条后路呢?
然而,理性地说,这种做法免不了伤敌一千,自损八百!实际效果可能不一定好,最多是一种情绪上的发泄,短期可能避免了被裁的境地,但是从长远看,对整个行业不是一个积极的作用,而且更重要的可能会损坏自己在行业的声誉,有点得不偿失。
说到底,我觉得没有哪个程序员喜欢防御性编程的,多半是无奈之举。谁不想编写美丽、优雅、无bug的代码呢?一种现象的产生并不是单方面造成的。作为行业、公司来说,应该进一步保障员工的权益,即便是裁员,也要给予正常的赔偿,好聚好散。作为员工,精益化专业能力,提高代码水平,硬实力增长了,不管去哪,都是公司的“香饽饽”!
-------------------------end-------------------------
往期精彩回顾
适合初学者入门人工智能的路线及资料下载(图文+视频)机器学习入门系列下载机器学习及深度学习笔记等资料打印《统计学习方法》的代码复现专辑
交流群
欢迎加入机器学习爱好者微信群一起和同行交流,目前有机器学习交流群、博士群、博士申报交流、CV、NLP等微信群,请扫描下面的微信号加群,备注:”昵称-学校/公司-研究方向“,例如:”张小明-浙大-CV“。请按照格式备注,否则不予通过。添加成功后会根据研究方向邀请进入相关微信群。请勿在群内发送广告,否则会请出群,谢谢理解~(也可以加入机器学习交流qq群772479961)