程序员的“防御性编程”

简介: 最近都在聊程序员要做好“防御性编程”,"防御性编程"的概念从之前的“保护程序”一下子变成了现在的“保护程序员”,一字之差,千差万别。

最近都在聊程序员要做好“防御性编程”,"防御性编程"的概念从之前的“保护程序”一下子变成了现在的“保护程序员”,一字之差,千差万别。

1、IT行业寒风凛冽

今年整体大环境特别寒冷,IT行业也是重灾区,许多中小软件互联网企业大规模倒闭,大厂持续裁人,到处都在降本增“笑”、开“猿”节流。每个IT从业者都感到前所未有的焦虑和迷茫。

笔者也了解了周边朋友的境况。朋友A和朋友B创业多年,主打软件开发,今年快撑不下去了,市面上明显没有项目可做。朋友C也是创业多年,主打安全性产品,客户缩水不少,目前基本处于贷款发工资的情况,也是负债累累。朋友D在大厂干了几年,最近被裁,不过拿到一笔不错的赔偿。朋友E在大厂苟着,每天疯狂加班,一直担心被裁。

2、我对防御性编程的看法

程序员为了保住自己不被裁掉,想了一系列的“防御性编程”方法,比如:变量命名混乱、到处是CV大发、一行注释不写 等等。总之就一条:只写自己看得懂别人维护不了的代码,让自己成为那个不可替代的人。

网上有人觉得这种“防御性编程”方式不可取,不可取的原因有2个

  1. 损害了团队和公司的利益。
  2. 对程序员的职业生涯造成负面影响。

笔者觉得这2点有一定的道理,但是也要辩证看待

  1. 大环境不好,每个人背后都是一个家庭,作为个人,做出自保行为,完全可以理解。其实这个已经无关个人素质和能力了。如果你是一位大龄程序员,能力和素质都挺好的,但是公司就是要裁你,你会怎么办?可能你也会选择“防御性编程”吧。
  2. IT行业内,有不少能人,他们打牢了基建,保障了系统的稳定,工程化做的也好,代码写的好,下班也早,反而会误认为是可有可无的人。面对这样的公司或者领导,那你也只能是选择“防御性编程”了。
  3. 站在个人的角度去看,如果自己都无法自保了,谁还管团队咋样,公司咋样?
  4. 作为程序员,还是要尽量减少这种“防御性编程”,如果是为了自保有意为之可以理解,如果是长期这样,养成坏习惯,那确实损害的是自己的名誉,确实会造成自己职业生涯的负面影响。

所以笔者觉得,是否要采用“防御性编程”,完全要视情况而定。如果公司不得以裁人,但是善待被裁的员工,相信程序员也不会采用“防御性编程”,谁不想把自己经手的事情做到至善至美呢?如果公司恶意裁人,各种恶心人的话,那我还是很支持程序员采用“防御性编程”自保的。

3、成长和职业拓展

不管咋样,其实我们都知道,真正的职业安全感来自不断的学习和成长。只有这样,才能在这个充满未知的环境中站稳脚跟。

其次就是尽早开启属于自己的副业,多元化发展。个体是无法左右大环境的,唯一能做的就是让自己不断成长,尽量多一份收入,来保障自己和家人。

4、没钱的真实感受

最近,一个朋友跟我聊,下面是他没钱后的一些感受,挺真实的。希望这种感受不要出现在我们平凡的IT打工人身上。他是这么说的:

最后,祝愿每位IT打工人都能平稳度过这个寒冬。

本篇完结!感谢你的阅读,欢迎点赞 关注 收藏 私信!!!

原文链接:https://mp.weixin.qq.com/s/ts1CQegwZFO0daCvsbOQ8A

相关文章
|
4月前
|
存储 并行计算 算法
CUDA性能优化实战:7个步骤让并行归约算法提升10倍效率
https://avoid.overfit.cn/post/af59d0a6ce474b8fa7a8eafb2117a404
306 1
CUDA性能优化实战:7个步骤让并行归约算法提升10倍效率
|
固态存储 计算机视觉 异构计算
一起来学MediaPipe(一)人脸及五官定位检测
一起来学MediaPipe(一)人脸及五官定位检测
4132 0
一起来学MediaPipe(一)人脸及五官定位检测
|
11月前
|
人工智能 自然语言处理 小程序
2023年关键字降本增“笑”,2024年的关键字会是什么呢?
《三潮来袭:2023年科技变革回顾与2024年展望》 2023年,IT行业经历了巨大变革。ChatGPT、AI和降本增效成为关键词。自然语言处理、边缘计算、量子计算等技术取得突破,推动行业发展。2024年,人工智能、云计算、全栈开发将继续引领趋势,移动营销、小程序应用和海外市场拓展将成为新的就业方向。企业将更注重稳定发展,减少试错,提高效率。 未来,持续学习和适应变化将是IT从业者的必备素质。随着全球互联网基础设施的普及,海外市场将为企业带来新的增长点。2024年的关键词可能是“智能化”、“全球化”和“高效化”。
195 5
|
编译器 网络性能优化 C语言
VPP DPDK,不是翻墙!!
VPP DPDK,不是翻墙!!
|
11月前
|
自动驾驶 开发者
从《为什么学生不喜欢上学》了解思考和学习
本书以“人类是如何思考和学习的”为线索,阐述了大脑关于学习的若干项基本运作原理,揭示了故事、情感、记忆、背景知识、练习在构建知识和创造持久学习经验中的重要性。
182 12
|
Web App开发 数据采集 开发者
如何解决ChromeDriver 126找不到chromedriver.exe问题
当使用Selenium与ChromeDriver 126时,遇到`chromedriver.exe`找不到的错误,可能是因为版本不匹配、文件路径错误或系统设置不当。解决方法包括:匹配Chrome浏览器版本下载ChromeDriver,确保文件在正确路径且有执行权限,以及调整系统设置允许执行。示例代码展示了如何设置代理IP、user-agent和cookie来运行Selenium爬虫。通过这些步骤,可以确保爬虫程序顺利运行。
1078 2
如何解决ChromeDriver 126找不到chromedriver.exe问题
7-6 sdut-C语言实验-悼念512汶川大地震遇难同胞
7-6 sdut-C语言实验-悼念512汶川大地震遇难同胞
203 0
|
机器人
钉钉的回调事件接入主要涉及到HTTP回调
钉钉的回调事件接入主要涉及到HTTP回调【1月更文挑战第20天】【1月更文挑战第99篇】
511 3
|
监控 架构师 安全
速读《技术人修炼之道》-看到最后定有收获
最近一段时间读完了《技术人修炼之道》,书中内容涵盖了作者多年实践和思想的结晶,整体读来有许多观点深有同感,也学习到了一些新的理念,在这里感谢黄哲铿老师。本文主要结合我自身十几年的IT行业经验,以及创业多年的感受,从书中提炼了一些个人觉得非常有价值并且好落地的点进行分享。