这8条据说是程序员的噩梦,0.1%的程序员没碰过
程序员是一个特别的群体,很多在我们常人不能理解的事情,程序员每天都在干。
今天就总结一下能让程序员做噩梦的8件事。
1、产品改需求的时候
PM:这个很简单的,稍微弄一下就行了。
程序员的噩梦是,临下班的时候接到产品的消息,“我又做了一点小改动,你看一下?”
更噩梦的噩梦是,通宵开发了好几天后,产品说,“领导刚才改主意了,之前的那个功能还得加上。”
产品说的总是风轻云淡,程序员拿过来一看也的确不是很难,也就是重构代码而已,通宵十天就够了。
所以说,杀一个程序员不用枪,改三次需求就够了。
2、Bug不可(难以)重现
人世间最痛苦的事就是明明有个Bug在我的眼前,我却无法重现它。
四五年前,我们有个运行良好的应用突然出了状况,一到下午两点左右就会毫无征兆地崩溃,查看了日志,根本没有报任何错误。在测试环境中想尽了一切办法进行模拟,总是无法重现。
这样的现象持续了一个多月,感觉就要绝望的时候发现了蛛丝马迹,北京时间的下午两点,是意大利的早上8点,那个时候,意大利的用户会登录系统,有些特殊属性的用户做了一个操作,触发了一个年久失修,普通用户根本走不到的代码分支,导致系统直接退出。
只用一行代码就Fix了这个Bug,但是重现的过程竟然长达一个多月!
3、接手前任留下来的烂代码
对于代码的编辑,每个程序员都有他们自己的一个独特的编码风格。所以每个程序员看其他人的代码几乎都是烂代码。
而一旦有程序员跳槽就必然会有其他程序员接手他的项目,然而看着这些代码,特别还是那些不写注释的代码时,你就能知道程序员的头发其实是被他们自己给抓光的。
4、懂点技术,瞎指挥
有人说不懂技术的瞎指挥很可怕,我倒是觉得懂点技术,然后指手画脚更可怕!
有个国企的项目,甲方负责人李总是个局里的二把手,不知道什么时候了解了一点编程的技术, 每次开需求会都是和我们大谈如何开发软件,他的口头禅就是: 这个需求,用个SQL从数据库一选不就出来了?!你们怎么得开发一周?!别想蒙我!
唉,他怎么能考虑到用SQL的like是效率极低的, 数据量大了是要崩溃的,我们得建立全文索引,需要用一套基于搜索的解决方案才行。
甲方的技术实力看起来这么“强悍”, 不懂技术的乙方负责人只好和稀泥:我们回去再评估一下。
懂技术的程序员在下面大眼瞪小眼。
5、写文档
代码好不容易写完了,刚刚喘口气,准备开始下一个工作,领导说,把文档也补一下,接口参数的含义都写上 ,程序员心里通常都会不爽,有所抵触,结果就是草草地写个文档出来。
为什么这样呢,因为实现功能的那些代码才是体现自己价值的,能够赚钱的工作,文档看起来只是附加品而已。
工作做完了,谁愿意多干活呢?再说了,工作量估算的时候把写文档时间算进去了吗? 你都不给我时间,现在还让我写,不是让我加班吗?
如果想把工作做得漂漂亮亮,既有优雅的代码,又有完善的文档,必须得给文档工作留出时间才行。
6、缺乏时间
像大多数工作一样,制作好的软件需要时间。不幸的是,在大多数努力中,上级管理者或客户通常不愿意等待很长时间,就想得到可正确实现的理想解决方案。
因此,软件开发人员常常被迫快速完成某些工作,而这可能会导致攻击,技术债务和文档缺乏,所有这些都可能会造成更多令人头痛的问题,特别是对于那些将来不得不处理这些代码的程序员而言。
7、断网、断电、内存不足
如果有一天突然代码写到一半,眼看就快要完工了,突然一下就断电,代码没保存。
你会不会是上述的这个表情呢?虽然大学时候老师就教过我们写代码记得保存,但是你总是防止不了意外(笔记本除外)。
不过这种事情碰到的概率还是比较低的,也没见过那个程序员吃过这种教训的亏。、
8、整天坐着
除非你有带跑步机的办公桌,否则软件开发肯定不会是一个有氧活动。
大多数程序员往往长时间地坐着,蜷缩在键盘上,盯着他们的计算机显示器。虽然说坐着比站着舒服,但总是这么坐着,坐久了就会变得很不舒服。这也是一件令人崩溃的事。
希望2020年能对程序员好一点吧
学习从来不是一个人的事情,要有个相互监督的伙伴,工作需要学习C/C++或者为了入行、转行学习C/C++的伙伴可以私信回复小编“学习”领取全套免费C/C++学习资料、视频