专栏名称: macrozheng
专注Java技术分享,解析优质开源项目。涵盖SpringBoot、SpringCloud、Docker、K8S等实用技术,作者Github开源项目mall(50K+Star)。
目录
相关文章推荐
奇果酱  ·  QQ 更新,新功能有点香啊 ·  昨天  
奇果酱  ·  QQ 更新,新功能有点香啊 ·  昨天  
sven_shi  ·  我回答了 @S海e海a海 ... ·  3 天前  
黑马程序员  ·  实事求是地说,程序员工作5年月薪22K,还有 ... ·  4 天前  
黑马程序员  ·  实事求是地说,程序员工作5年月薪22K,还有 ... ·  4 天前  
超前一步午后一股  ·  最新 ||华*为Mate ... ·  6 天前  
51好读  ›  专栏  ›  macrozheng

大厂程序员提倡“防御性编程”:故意把代码写得很烂,万一自己被裁,要确保留下的代码不可维护!

macrozheng  · 公众号  · 程序员 科技自媒体  · 2024-10-20 14:10

正文

mall项目实战教程网:macrozheng.com

你听说过“防御性编程”吗?

最近,为了防止被裁员,一些大厂员工开始在代码里搞一些小九九,比如在代码里面留下后门,或者遇到异常情况就自动记录日志、发警报,并称之为“防御性编程”,确保就算自己被裁,剩下的代码也不可维护。

同行采访实录

你怎么看待“防御性编程”?我们采访了许多程序员,大家给出了不同的看法:

1.有人赞同,觉得挺好的,公司做事不守规则,那打工人就让它守规则。

2.有人说,以前觉得违反职业道德,现在觉得公司都没道德,那还提什么职业道德。

3.有人感叹,但凡早学会这个,自己也不至于被裁。

4.有人贴心整理了防御性编程入门教程:能用手拖的尽量不用代码;多用设计模式,一层套一层;能用一个函数绝不开第二个函数;多用if else 嵌套 if else;命名多用abcd。

这或许是一个对你有用的开源项目,mall项目是一套基于 SpringBoot3 + Vue 的电商系统(Github标星60K),后端支持多模块和 2024最新微服务架构 ,采用Docker和K8S部署。包括前台商城项目和后台管理系统,能支持完整的订单流程!涵盖商品、订单、购物车、权限、优惠券、会员、支付等功能!

  • Boot项目:https://github.com/macrozheng/mall
  • Cloud项目:https://github.com/macrozheng/mall-swarm
  • 视频教程:https://www.macrozheng.com/video/

项目演示:

5.也有人觉得没用,写得再难维护也还是会被裁。

6.有人说,得核心项目才行,边缘项目维护不了就丢弃了。

7.有人说,现在大厂都是直接裁项目,压根不需要人去维护。

8.有人说,这么做只会恶心接手的人,上面才不管能不能维护呢,他们根本不看代码。

9.有人觉得有点可笑,说自己就算失业、要饭,也不搞这么多弯弯绕绕。

10.有人觉得很扯,这样怎么过得了代码评审?写完代码要给组里所有人过一遍,除非所有人都不在乎,不然怎么通过?

11.还有人说,有没有可能大家写的代码本身就是屎山,无需刻意防御性编程。

小编有话说

防御性编程的本意是一种细致、谨慎的编程方法,它是让程序员写代码时提前预测可能出现的问题,并采取措施来规避这些问题。防御性编程是为了预防和减少未来可能出现的错误和灾难。但在“开猿节流”的大背景下,防御性编程却成为了程序员自保的工具,这种做法可行吗?

也许短时间内能达到不被裁员的目的,但从长远来看,这种做法会对整个团队和项目的可持续发展造成严重影响。伤人一千,自损八百,即使短暂保住了岗位,也会影响自己的职业声誉,不利于未来就业。

其实,所谓“防御性编程”不过是打工人自保的无奈手段,如果不是迫于无奈,谁不想把工作做好,把代码写得清晰优美呢?警察愿天下无贼,医者愿天下无疾,程序员愿天下无bug。社会真正要做的不是禁止程序员防御性编码,而是给大家提供一个可以充分发挥能力的安全环境啊。


Github上标星11K的微服务实战项目mall-swarm,全套 视频教程(2024最新版) 来了!全套教程约26小时,共59期,如果你想学习目前最新的微服务技术栈,同时提高自己微服务项目的开发能力的话,不妨了解下,下面是项目的整体架构图,感兴趣的小伙伴可以点击链接 mall-swarm视频教程 加入学习。

整套 视频教程 的内容还是非常完善的,涵盖Spring Cloud核心组件、微服务项目实战、Kubernetes容器化部署等内容,你也可以点击链接 mall-swarm视频教程 了解更多内容。

推荐阅读