程序员的噩梦有哪些?除了改需求,还有这些…
编译:伯乐在线 - 陈舸
http://blog.jobbole.com/80724/
有国外程序员在 Quora 上提了一个问题:“程序员的最大噩梦是什么?”。陈舸摘编了这个问答贴的多个热门回复。
Brain Schmitz 的回复
曾经遇到过的最恶心的bug:
Bug只会出现在生产环境中,而且无法在本地重现或者触发;
Bug出现的几率虽然很低,但并不足以忽略掉它;
Bug出现的原因和竞态条件(race condition)有关,这只会在系统低负载时才出现
Bug出现的真正原因还未知;
出现bug的代码并不是你编写的,但是你要负责修复它;写那段代码的人已经不在公司了;
导致出现bug的是某个库,而这个库在99.9%的情况下都是可靠的。这是你解决该问题所剩的最后一块阵地了。
多年以来有许多人试图调试它,从没人成功过。
Bug会产生一个逻辑错误,而且只会在系统运行了很长一段时间后才会出现;
调试需要你了解某个特定的领域知识,而你对那个领域却一无所知;
解决bug的最后期限非常紧,时间不多了;
不能忽略这个bug,因为你的饭碗能否保住就看它了
想象一下在地球上通过光脉冲信号调试火星探测器上的一个竞态条件是多么令人恶心的一件事,更绝的是只有在火星的大气条件下当行星开始对齐时才会发生。这一切都是因为某个从 NASA 离职多年的人所编写的库中生成的嵌入式代码,出现了一些微妙而深奥的问题所导致。你必须尽快解决这个问题,因为下一次行星对齐就快开始了,而几百万美元的项目资金面临打水漂的风险。
不,我所说的这一切从未发生过。但是看了上面那些你难道不想从桥上跳下去吗?
Jarmo Dee 的回复
上面那些都不算啥。程序员最糟糕的噩梦是有一个不合格的、非技术出身的项目经理,把时间点定的非常紧,而且总是想掌管一切。
Colin Song
需求变更,恩,是再一次变更。
Jim Bobrien
老板决定修改产品定位的方向,而且认为所有的修改都会很简单,并且在没有和技术团队沟通过的情况下就向客户做出了种种承诺。哦,对了,还有需要支持IE浏览器。
Lalit Jain
同样的代码周五还跑的好好的,周一就不行了
Shivam Sarawagi
Internet Explorer (如果你是 Web 开发者)
Jorge Lrun
到 StackOverflow上提问,看到1年前有人发过和你准备问的一模一样的问题,但是没有任何回复..
(漫画由 伯乐在线 - 轻如纸张 翻译)
Ben Joseph
Stack Overflow 访问不了!
Naman Dasot
分号键坏了 :(
(很多程序员表示,空格键坏了才恐怖)
Abhishek Walter
Stackoverflow 问题数达到上限
欢迎大家在评论中分享你遇到的程序员专属恶梦!
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- PHP生成随机码的思路与方法实例探索
- CI框架教程之优化验证码机制详解【验证码辅助函数】
- ThinkPHP框架整合微信支付之Native 扫码支付模式一图文详解
- PHP中str_split()函数的用法讲解
- 微信JSSDK分享功能图文实例详解
- spring-boot-route(八)整合mybatis操作数据库
- PHP扩展Swoole实现实时异步任务队列示例
- ThinkPHP框架下微信支付功能总结踩坑笔记
- spring-boot-route(九)整合JPA操作数据库
- spring-boot-route(十)多数据源切换
- spring-boot-route(十一)数据库配置信息加密
- PHP中number_format()函数的用法讲解
- php7新特性的理解和比较总结
- PHP之认识(二)关于Traits的用法详解
- 详细分析Python可变对象和不可变对象