太难了让程序员崩溃的8个瞬间

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

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

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

一、当产品变更需求时

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

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

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

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

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

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

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

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

二、当编译环境又崩了

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

八、当项目排期倒排时

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

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

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

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

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

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

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

预览时标签不可点收录于话题#个上一篇下一篇

转载请注明:http://www.jiaju1314.com/zytd/zytd/15960.html