程序员的噩梦,我的漏洞伤害了他人.......

对绝大多数人来说,都是些老生常谈的东西使他们噩梦连连:幽灵、蜘蛛,被戴着冰球面具的杀人狂追杀……但对另一些人来说,他们最害怕的东西就没那么常见了。

就拿软件开发者举例吧。如果你问他什么才是最可怕的噩梦,那么回答很可能跟女巫、黑猫没什么关系,真正的噩梦是关键的分号不起作用或者微软的某个产品。在分析了各种各样程序员关注的论坛之后,我们在此列举出 13 种程序员们最苦恼的噩梦。

1.我能通过互联网解决问题 
Stack Exchange 一类的网站已成为软件开发者的工具箱中至关重要的工具。当然也还有很多其他程序员们寻求帮助的论坛。程序员最头疼的事,就是貌似无穷的知识来源中其实并没有解决你问题的救命稻草。

“在 Stackoverflow 网站看到有人发了同样的问题,然而逛了半天也没找到最终的解答。”—— Jorge Irun

http://www.itlanbao.com/code/20150908/10000/100513.html

2.键盘上最重要的按键坏了 
不难想象,键盘对于开发人员有着不言而喻的重要性。但同样地,在开发人员眼中并非所有按键都那么重要。尤其是在一些编程语言中,某些按键比其他按键的使用频率更高,例如 JavaScript、Perl 和 Objective-C 中的分号键。为了节约时间和避免错误,开发人员爱用键盘的快捷方式,比起鼠标,键盘的使用则更频繁。若是软件开发者梦到键盘上他最爱用的按键坏了甚至消失了,就深更半夜里冒着冷汗惊醒,你也不必觉得惊讶。 
“我做过最糟糕的噩梦就是分号键坏了。”—— Ali Akbar

http://www.itlanbao.com/code/20150902/10000/100499.html

敲了n行代码后才发现 Control 键没反应……”—— Nikesh Shetty

3.网络连不上,或者掉线了 
一种比较“小众”的噩梦是,某一工具的论坛下线或是出于维护状态从而不能解决问题,但更常见的是访问互联网时掉线,无法接入站点。因为毕竟除了访问论坛这一目的意外,网络更像一个巨大的象鼻,里边装满了有用的东西,比如代码段、开源软件。如果互联网突然掉线了,就会造成编程团队间无法联系,你喜欢的在线音乐播放服务无法使用,更不用说接入远程服务或是云端有多困难……如果你想吓唬吓唬程序员,大喊一声“没有网络”就够了。记得,随时准备好除颤器以便急救。
引用

http://www.itlanbao.com/code/20150909/10000/100518.html

如果某天互联网和谷歌都消失了,那将倒退回与世隔绝、暗无天日的古代。遇到 bug 我们只能束手无策。”—— Thoriq Firdaus

4.无法再现的危险错误 
为了修复一个漏洞,在这之前开发人员必须在开发或测试环境中重现导致错误的情境。如果你够幸运的话,在开发环境部署前就能诊断、修复错误。许多开发人员害怕随机出现又无法在受控环境中重现的漏洞。这类该死的漏洞会让你在重要客户的面前变得忧心忡忡,坐立不安。这绝对是程序员的噩梦。

引用
只在众人或重要客户面前演示时才出现的漏洞,简直让我……” —— Jeremy Friesner

http://www.itlanbao.com/code/20150911/10000/100523.html

“在公司时蓝屏现象从不会出现第二次,然而一到客户家里就老出现。” —— Joe Wezorek

5.缺失好的文档,甚至没有文档 
坐下来理解一段没有良好文档或注释的已有代码是很困难的。若是连文档或注释都没有,那就更糟了。这情况不仅适用于由承继程序员的第三方编写的代码,还适用于同一个程序员在很久以前写的缺少良好文档的代码。不管是谁切分的不带说明文档的代码永远是个噩梦。

引用

http://www.itlanbao.com/code/20150907/10000/100509.html

“毫不夸张地说,维护没有开发文档的旧软件对我而言就是个噩梦。”—— Sam Sartor

6.糟糕的老板和主管 
和其他人一样,开发人员也会有爱管闲事又没啥能力的上司。软件开发者尤其讨厌随意干涉他们代码的非技术管理层。有些领导喜欢承诺我们无法做到的事,低估项目中切分代码所需的时间。一想到这样的领导和技术决策人,程序员即使在深夜的梦里也会痛哭。

引用

http://www.itlanbao.com/code/20150911/10000/100524.html

“对我而言最糟糕的非经理莫属,比牙疼还糟糕。他们自视甚高,还期待我们能提早地满足客户的任何需求。这些所谓的经理还坚信,编程只是小事一桩,代码就像浮在空气中似的,可以信手拈来。” —— Rachit Agrawal

7.他人清晰又漂亮的代码 
对大多数程序员来说,他们喜欢也必须在别人的代码上继续工作;但别忘了,不同的定时器代码永远不会一模一样,不是吗?甚至是一段有良好文档的第三方代码也会变成一件麻烦事。它要求你做调试,重构,或结构化,使代码适应可能几个月前就已切分好的代码。这些工作会让程序员们心跳异常。若没有,真是谢天谢地。 
    http://www.itlanbao.com/code/20150911/10000/100522.html

8.项目里的要求变更 
无论何时,软件开发者都青睐那些阐述清晰、不能变更的应用需求。在实践中,很多需求都是匆忙制定的,有时候甚至已经成为了正式形式;要求变更的原因,一部分是有糟糕的项目经理,另一部分则是来自上级或客户本身的抱怨和干涉。总之,不论什么原因,对需求变更的恐惧——尤其是在最后一分钟要求变更——永远是开发者的心头恨。 
    http://www.itlanbao.com/code/20150909/10000/100516.html

9.消失不见的代码 
无论开发者花了多长时间来调度软件,如果代码被意外清除了,一切努力都将付诸东流。代码意外消失的原因有许多,最主要的是鬼使神差地忘记保存文件,或者未知的恶意漏洞导致无法保存。无论出于什么原因,不管是不是考虑不周,程序员永远都害怕花了大量时间精力才得出的算法和函数毁于一旦。 
   http://www.itlanbao.com/code/20150908/10000/100514.html

10.IE 浏览器 
程序员常常会对某些技术忍无可忍。举个例子,Web 开发人员对用 IE 做开发感到万分恐惧。尽管它仍是最受欢迎的浏览器之一,IE 对于Web 开发者就是噩梦。糟糕的是,比起现代、环保的新版本,旧版本的 IE 不友好,用户多,还需要更多支持。如果说电影“13号星期五”中杀人狂 Jason Vorhees 吓倒了一众Web 开发者的话,他的面具恐怕就是 IE 图腾。
    http://www.itlanbao.com/code/20150907/10000/100510.html

11.身体不适 
编程不是个体力活儿,但正如其他需要没日没夜地在计算机上切分数据的职业那样,胳膊、手掌、指头不灵便都很难完成这项工作。任何对视力、理性思考能力有消极影响的因素,都会成为大麻烦。因此,软件开发者的典型噩梦是:无法使用,甚至丧失了身体的某一或某些重要部位——个人伤害律师(Personal injury lawyer) Baca Raton 如是说。

12.我的漏洞伤害了他人 
任何软件开发者都会成为漏洞的制造者。但并非所有的漏洞都具有同等的灾害性。其中一些漏洞讨人厌但无害,另一些则会给公司或客户带来损失,负责开发的人员会被开除。不过最坏的情况是,漏洞造成了生理上的伤害,甚至危及他人的生命安全。

13.段错误 
程序员中普遍害怕的噩梦还有遭遇段错误。这一错误由内存违法访问而引发。也就是说,程序企图访问受限的内存,或者执行某个受限的行为。一般而言,在这种情况下访问内存单元将通知操作系统,进而反过来通知有问题的,大多数以挂马程序为结束的进程。开发人员最头痛的就是要找到引发这一问题的原因。因此,程序员的噩梦里还有段错误。

时间: 2024-10-01 00:02:44

程序员的噩梦,我的漏洞伤害了他人.......的相关文章

《程序员的自我修养——链接、装载与库》——链接

导读 对于平常的应用程序开发,我们很少需要关注编译和链接过程,因为通常的开发环境都是流行的集成开发环境(IDE),比如Visual Studio.Myeclipse等.这样的IDE一般都将编译和链接的过程一步完成,通常将这种编译和链接合并在一起的过程称为构建,即使使用命令行来编译一个源代码文件,简单的一句”gcc hello.c”命令就包含了非常复杂的过程.然而,正是因为集成开发环境的强大,很多系统软件的运行机制与机理被掩盖,其程序的很多莫名其妙的错误让我们无所适从,面对程序运行时种种性能瓶颈我

C语言是编程小白的噩梦,WEB开发成为转行程序员的福音!

大多数大学生接触的第一门编程课便是C语言,这对于一个完全不懂计算机的人可能是噩梦. 不少人初次上C语言课都会被指针绕得晕头转向,然而大部分编程工作并不需要你关心指针的使用.此外,C语言对可视化编程并不友好,用C语言编写图形化界面十分繁琐.在这种情况下,很多大学生都会问C语言能做什么? C语言看似简单,实则无比强大,它主要的用途是系统级编程,操作系统,数据库,编译器,虚拟机等等,可是,并不是每个人都愿意去尝试或者有机会接触. 这会导致大多数人学了C语言并没有多少成就感和兴趣,甚至因为这门课怀疑自己

程序员常用的3大Web安全漏洞防御解决方案:XSS、CSRF及SQL注入(图文详解)

https://blog.csdn.net/ChenRui_yz/article/details/86489067 随着互联网的普及,网络安全变得越来越重要,程序员需要掌握最基本的web安全防范,下面列举一些常见的安全漏洞和对应的防御措施.01 常见的Web安全问题 1.前端安全 XSS 漏洞 CSRF 漏洞 2.后端安全 SQL 注入漏洞 程序员学架构mikechen优知02 XSS漏洞 1.XSS简介 跨站脚本(cross site script)简称为XSS,是一种经常出现在web应用中的

程序员之殇 —— (The Beginning of the End)噩梦、崩坏

Look at all those faces out there (当我环视周遭的一张张脸孔) We are so different(我们是如此的不同) But we have one thing in common(但是,我们有一个共同点) We all have big desire to learn(那就是,我们都有极度的求知的饥渴) 编程序,是要有灵感的. 小学老师说,你们长大了,只要努力,就可以得到回报.—— 这是人世间最残忍的欺骗.编程序,傻劲,是没用的,无论多么努力. 没有灵感

程序员到项目经理:从内而外的提升

转自:http://www.cnblogs.com/watsonyin/archive/2012/09/10/2679528.html 目录 从程序员到项目经理(一):为什么要当项目经理 从程序员到项目经理(二):升职之辨 从程序员到项目经理(三):认识项目经理 从程序员到项目经理(四):外行可以领导内行吗 从程序员到项目经理(五):程序员加油站,不是人人都懂的学习要点 从程序员到项目经理(六):程序员加油站 — 懂电脑更要懂人脑 从程序员到项目经理(七):程序员加油站 — 完美主义也是一种错

腐败的程序员(1)

如果你不幸的看到了此文章,请不要急着喷lz,且当楼主是个标题党吧. 一直以来,腐败这个词都是放在那些掌握有一些权利的人身上的,程序员怎么会腐败呢?我天朝程序员是非常敬业的,别人在家享受家庭的温暖的时候,我们可爱的程序员一族还常常在公司里无怨无悔的加班.其实lz想说的主题是怎么样写出高质量的代码,但是高质量的代码这个主题太高深,楼主不敢用,所以用了这么一个标题.下面进入正题. 作为lz的第一篇博客,先立出一个观点,高质量的代码是在严格的约束中产生的,但是严格的约束却不一定能产生高质量的代码.为什么

[译]好程序员的五声“呐喊”

通常编程情况下,会导致软件项目变坏的一些列反应 原文:The five shouts of good programmers 在任何一天,在这个世界上都有软件项目正在失败,这很常见.常见到当软件产品按照预期发布时人们都会感到吃惊.这不是什么新鲜事,基于被广泛引用的Standish Group的Chaso报告,这种事情已经已经发生了几十年了.但是现在,在很多情况下,人们试图尽最大努力去避免这种悲剧,但是经常公司的政治总是会比实用主义更具优先级.只要不要太晚,这都是可以通过简单的延迟来避免. 在这种

高效程序员的45个习惯

本文转载 <高效程序员的45个习惯>一书 目录 第1章 敏捷---高效软件开发之道 第2章 态度决定一切 1.做事 2.欲速则不达 3.对事不对人 4.排除万难,奋勇前进 第3章 学无止境 5.跟踪变化 6.对团队投资 7.懂得丢弃 8.打破沙锅问到底 9.把握开发节奏 第4章交付用户想要的软件 10.让客户做决定 11.让设计指导而不是操纵开发 12.合理地使用技术 13.保持可以发布 14.提早集成,频繁集成 15.提早实现自动化部署 16.使用演示获得频繁反馈 17.使用短迭代,增量发布

资深程序员冒死揭开软件潜规则:无法维护的代码

原始博文发布于: Roedy Green's Mindproducts (http://mindprod.com/unmain.html ). 翻译链接: 点击打开链接 2014年11月25日 03:11 如何编写无法维护的代码 让自己稳拿铁饭碗 ;-) Roedy Green 简介 永远不要(把自己遇到的问题)归因于(他人的)恶意,这恰恰说明了(你自己的)无能. -- 拿破仑 为了造福大众,在Java编程领域创造就业机会,兄弟我在此传授大师们的秘籍.这些大师写的代码极其难以维护,后继者就是想对