又到万圣节,每年一次的恐怖盛宴再次开席,我们将从内心深处挖掘最令自己害怕的事物——当然,纯粹是为了娱乐!对于大多数人来说,能让他们感到毛骨悚然的东西还是老一套:鬼魂啦、蜘蛛啦、戴着曲棍球面具到处砍人的疯子啦。但对于一部分特定群体,他们害怕的对象却显得不那么传统。
举例来说,软件开发人员其中的一类典型——当然,其他类型的特殊群体也是有的,但技术网站表示对那帮家伙不感兴趣。如果大家向自己身边的开发者朋友询问最令其害怕的事物,答案可能与女巫、黑猫或者其它一些象征阴暗死亡的东西八竿子打不着。没错,他们可能更畏惧键盘上的分号键坏了或者微软的某款产品又崩溃了。在今年的万圣节中,我们就这一话题在网络论坛中征求了开发者们的观点,而这些程序员在面对“你最可怕的噩梦是什么?”这个问题时给出了以下十三条常见答案。
互联网无法回答我的问题
以StackExchange为代表的开发者常见问题解答网站已经成为技术从业者们不可或缺的重要资源储备与依赖对象。当然,也有不少其它问答网站及开发者论坛能够帮助软件开发人员解决自己在编程过程中遇到的具体问题。但在少数情况下,开发人员可能仍会遇上那种令自己全身冰冷的可怕状况:网络上看似无穷无尽的编程知识储备依旧没办法解答自己的疑问。
群众意见:“最可怕的就是打开Stackoverflow网站并看到一篇其他人发布的、与自己想问的问题完全一致的帖子。恐怖的是,这篇帖子已经发布一年多了,而且根本没人做出过回复。”JorgeIrun
“我害怕的是StackOverFlow上的最佳答案实际上并不起作用(我们也遇上过这种情况)!”RamchandRajasekaran
“在谷歌上搜索能解决架构难题的方法,却发现找到的相关信息已经是六年之前的、描述的问题完全相同——而且就是由我自己发表的。”SteveTraugott
最重要的键盘按键损坏或者丢失了
不用说,键盘在程序员的日常生活当中扮演着非常重要的角色。但是,并非键盘上的每个按键对于开发人员来说都拥有或者能够创造同样的价值。一部分按键的使用频率要明显高于其它按键,具体情况则视编程语言的类型而定——例如在JavaScript、Perl以及Objective-C当中,分号就意义重大。程序员们还喜欢大量使用快捷键操作,利用这些组合来代替相对繁琐的键盘、鼠标或者触控板操作不仅能够节省时间、也可以避免多次重复动作带来的关节劳损。有鉴于此,我们就能想到当开发人员梦见键盘上一个又一个心爱的按键消失不见、并因此带着一身冷汗从床上惊醒时,内心该有多么恐慌与绝望。
群众意见:“我做过的最可怕的噩梦就是自己的分号怎么按都不起作用。”AliAkbar
“空格键失灵”VivekPatel
“正在编写一套规模庞大的代码项目,然后突然发现Control键没有反应了……”NikeshShetty
“CTRL+Z无法正常实现撤消操作:(:(“NirwanDogra
互联网失效——或者出现故障
像StackExchange这样的网站因为故障而无法及时应答程序员们的问题是一码事,但互联网本身整体失效则是另一码事——而且后者明显要更加恐怖,甚至足以令人精神崩溃。毕竟除了回答问题之外,互联网也塞满了其它极具实用价值的资源,例如开源软件以及代码片段等等。更不用提在没有互联网的情况下,访问远程或者云端服务器将无法实现、没办法跟分布式团队中的其他成员沟通甚至连最喜欢的流媒体音乐服务也用不了,这实在是一场深重的灾难。因此,如果大家希望真正让自己的编码好友吓一大跳,那就得找点确实震得住他们的理由——例如“互联网挂了,什么网站都上不去了!”对了,如果朋友们因此吓得口吐白沫,记得帮他们擦一擦。
群众意见:“StackOverflow网站当前正处于停机维护当中。”MahantheshShadakshari
“谷歌服务器陷入永久停机状态。”Anonymous
“如果互联网与谷歌都没法用了,我们就只能回到过去那个闭塞而恐怖的‘黑暗时代’。我们会被困在原地,不知道在遇上特定问题之后应该如何处理。”ThoriqFirdaus
“说真的,如果互联网本身崩溃了,那么开发人员们肯定会停止手头的工作并开始闲聊家常。哦我的天哪……这太可怕了!”nanda
一个无法重现的严重漏洞
为了修复一项漏洞,软件开发人员们首先必须有能力在开发或者测试环境中重现引发这一问题的状态。接下来,大家就只能碰运气、希望引发问题的根源能在影响到生产系统之前被诊断出来并在重复测试中不再出现。很多开发人员最害怕的就是那些看似随机出现的漏洞,这类问题在可控制环境下几乎没办法确切重现。要让这类漏洞施展威力,大家最好是能选个最合适的时机——例如在为特别重要的客户进行运行演示之前。相信我,如果能够成功完成上述部署,各位的程序员朋友肯定吓得裤子都湿了。
群众观点:“……漏洞平时根本不出现,而只在当着五百多位与会者的面进行公开演示时发生。”JeremyFriesner
“某个无法在内部环境下重现的蓝屏问题却在某位重要客户的设备上反复肆虐。”JoeWezorek
“某个只会在我自己的计算机之外出现的错误,而且仅仅发生在生产体系中——无法在测试环境内予以重现。”JaimieSirovich
“在自己本地服务器上完美运行的程序/网站一旦上线就开始变得极不稳定。这给人的感觉是服务器像是无情地玩弄自己,而我们只能让原本兴奋的情绪沉入悲伤的深渊、同时却又无能为力。”AnkurAgarwal
缺乏完善的说明文档(或者没有说明文档)
想在不借助完善的说明文档或者代码注释的情况下理解现有代码实在是难如登天。而如果根本不存在任何说明文档或者代码注释,那么内容理解的难度又会更上一层楼。上述情况不仅局限于接手自其他程序员的已编写代码内容,更糟糕的是他们可能是在很久之前编写出相关片段、而且当时并没有保留妥善的文档记录。这种没有说明文档可供参考的代码,无论当初是由谁编写而成的,都是一种非常恐怖的存在。
群众意见:“最可怕的就是在没有适当说明文档或者某些无意义标识符不提供相北京哪里治疗白癜风早期白癜风治好的方法