程序员的“防御性编程”

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

1、IT行业寒风凛冽

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

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

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

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

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

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

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

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

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

3、成长和职业拓展

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

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

4、没钱的真实感受

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

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

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

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

相关推荐
计算机学姐4 分钟前
基于SpringBoot的社区互助系统
java·spring boot·后端·mysql·spring·信息可视化·推荐算法
源代码•宸9 分钟前
Leetcode—3314. 构造最小位运算数组 I【简单】
开发语言·后端·算法·leetcode·面试·golang·位运算
Java程序员威哥17 分钟前
SpringBoot4.0+JDK25+GraalVM:云原生Java的性能革命与落地指南
java·开发语言·后端·python·云原生·c#
无心水39 分钟前
1、Go语言工作区和GOPATH实战指南:从项目初始化到部署
开发语言·后端·架构·golang·go·gopath·go mod init
高山上有一只小老虎40 分钟前
JPA实现分页查询
java·spring boot·后端
Java程序员威哥1 小时前
【包教包会】SpringBoot依赖Jar指定位置打包:配置+原理+避坑全解析
java·开发语言·spring boot·后端·python·微服务·jar
Java程序员威哥1 小时前
Spring AI快速上手:Java集成ChatGPT/文心一言,30分钟实现智能问答接口
java·人工智能·spring boot·后端·python·spring·云原生
木风小助理1 小时前
QPS监控:SpringBoot应用性能监控的必要性与实践
java·spring boot·后端
qq_12498707532 小时前
基于Spring Boot的心理咨询预约微信小程序(源码+论文+部署+安装)
java·spring boot·后端·spring·微信小程序·小程序·毕业设计
彭于晏Yan2 小时前
SpringBoot集成Druid连接多个数据源
java·spring boot·后端