太难了!程序员又崩溃了

程序员鱼皮

共 2019字,需浏览 5分钟

 · 2021-12-03

程序员真是一个看起来挺牛逼,实际上很悲催的职业。 


虽然说用代码创造世界是一件很爽的事情,但很多时候可能某个瞬间就会被整破防,情绪一激动一上头来那可是啥是都干得出来!


最近做需求比较烦躁,时常让我感觉到崩溃。有时候不仅app crash了,人也崩溃了。于是乎总结了一下让程序员 crash 的 8 个瞬间。

一、当产品变更需求时


fbfc69ed626f45ea7f4517eb59ec9edb.webp


作为开发的死对头,产品经理的存在一定是为了不让程序员好过才被设立出来的吧。 


就像是为了防止物种入侵一样,产品的存在就是制约程序员过度繁殖,从而导致生态毁灭。


而产品的有效武器大概就是通过不断的修改需求,来达到控制程序员数量的目的。


当产品经理在需求群里at某个程序员的时候,大概率准是没好事的。所以在产品经理开始at你,让你修改需求时,大概是想打人的心都有了吧。 


然而最可怕的是,当你辛辛苦苦百度谷歌了几天,用了一系列非常极客的技术来实现了某个功能。


最后产品在群里一句话, 「这个先不做了吧」 直接让人破防。


不仅如此,某些产品还会在发版日或者发车日变更需求,明明你已经开开心心的准备合码下班了。


然后他告诉你再把哪儿再改下,直接让人整不会了。

二、当编译环境又崩了

b83e83089de17e59b4fc28d0c1b8a612.webp


可能很多人不知道,许多公司都有着一群基础技术部门的存在。这些部门的人从来不干业务的事,但专门给业务部门搞事。


基础技术部门一般会负责开发平台的搭建,效率工具研发或者开发流程准入和把控之类的事情。


有时候,本地编译好好的,但是在远端就是编译不过;又或者明明编译过了,但是由于各种未周知的规则卡口,导致合码流程被block等情况发生。


特别是当你满怀期待的觉得成功解决了一个bug,但是看着pipeline上满是红叉❌和感叹号,瞬间一股子恼火就上来了。

三、当线上出现稳定性问题


3198c14299d46e8fcdcbe7fd0fd3dc63.webp


对于月活日活较大的软件来说,线上的稳定性问题分分钟能够让人崩溃,到时候不只是软件崩溃了,人也崩溃了。


稳定性问题算是很严重的事故,比如服务端下发字段的变更导致客户端大规模crash,或者服务端oom使得上下游服务全部宕机。这些基本上一出现基本上都与事故报告挂钩。


所以当程序员在摸鱼划水的时候,突然线上激增异常报警,那绝对是让人痛不欲生的一瞬间了。

四、debug时死活走不进断点位置

d33d13481535be7da3a83db882d64437.webp



我们知道,找 bug 时设置断点是非常稳健且有效的方式。但是很多时候,断点并不是我们以为的就能够走到。


有些项目可能通过直接链接二进制文件来加快编译速度,所以程序在运行时可能并不是编译你打断点所在的代码,这就导致你以为断点达到了,实际上根本走不到。


而还有些情况,由于IDE本身处于某些未知状态,使得程序在运行时也是没办法断点,这也是非常让人恼怒的时候。

五、一看就懂的bug,但就是修不好

e2887d32721c2a102542c3a4e2844373.webp

不知道大家有没有经历过,有些 bug 一看你就明白是哪儿出了什么问题。但是等到自己去修复的时候,就是死活修不好。


看起来很简单,但是改起来还有可能是修了一个 bug,但又引入了 10 个 bug。

六、当看到很久都没维护的代码时

df42eda647b08b659521f823ebb939e2.webp

老有人说其实大公司大项目的代码都是屎山,不仅没有注释,还各种乱依赖乱调用。我一直都不信,直到我也进了大厂。。


不过说起来这倒是很容易理解的现象,毕竟大公司一起写代码的人太多了,很难要求别人按照统一的规范来开发。


经常是你自己写了几段代码后,一段时间没有维护,过了一阵子再回来看,已经惨不忍睹了。


当代码成为屎山的时候,只要是写过一行代码,就不是无辜的。

七、当有人直接在master分支各种操作时

8ae08a8e59ade0a20146da1ecbc142a0.webp

master分支是许多程序员可望不可及的存在,因为没人敢轻易(并且也没权限)直接push到master分支,甚至直接在master分支上做各种操作。


因为master分支直接影响的是整个项目,一旦出了问题可能会导致整个团队开发效率的降低。


而特别是当你正在着急修复一个线上bug,但是被告知master被人改坏的时候,那个瞬间简直令人抓狂。

八、当项目排期倒排时


eaa4dfa4b5cda7b5b7fa06a44aff057e.webp

一般大公司很喜欢按流程说话,也就是做需求做项目,都是按人力按工作量进行排期,排多少天就做多少天。


而当听到某些产品要求对需求倒排的时候,程序员们的第一反应都是很反感。


因为在实际开发的过程中,可能会遇到这种未知的问题,很难通过前期的调研来充分保证开发的进度。


所以一旦项目需要倒排,最终的结果可能大多数开发质量不过关,或者就是要开始构建屎山了。



以上这就是我最近在开发过程中遇到的几个让人崩溃的瞬间,有时候真心觉得能安安静静的写写代码,是一件既幸福又舒服的事情。


但是现实总是事与愿违,毕竟身为公司的一员,总是需要花费更多的精力去沟通去协作,去提升自己的影响力。


不过没关系,好好享受写代码的时光最重要。


最后如果大家觉得本文还不错,请大家 点个赞 + 在看 哦,谢谢!



往期推荐

帮阿里云拉新 7000 人,我输的很彻底!

操作系统,曾经也是个弟弟

刚夸你免费,你就收费了!?

鱼皮的新版Java学习路线,开源!

半夜看到这个项目,给我吓一跳!

浏览 17
点赞
评论
收藏
分享

手机扫一扫分享

举报
评论
图片
表情
推荐
点赞
评论
收藏
分享

手机扫一扫分享

举报