程序员的 13 种噩梦,你遇到过哪些? - 博客 - 伯乐在线



程序员的 13 种噩梦,你遇到过哪些? - 博客 - 伯乐在线

5.缺失好的文档,甚至没有文档

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

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

6.糟糕的老板和主管

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

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

7.他人清晰又漂亮的代码

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

8.项目里的要求变更

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

9.消失不见的代码

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

10.IE 浏览器

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

11.身体不适

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

伯乐在线推荐阅读:《程序员的常见健康问题

12.我的漏洞伤害了他人

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

伯乐在线推荐阅读:《软件Bug引发的十次严重后果

13.段错误

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


Read full article from 程序员的 13 种噩梦,你遇到过哪些? - 博客 - 伯乐在线


No comments:

Post a Comment

Labels

Algorithm (219) Lucene (130) LeetCode (97) Database (36) Data Structure (33) text mining (28) Solr (27) java (27) Mathematical Algorithm (26) Difficult Algorithm (25) Logic Thinking (23) Puzzles (23) Bit Algorithms (22) Math (21) List (20) Dynamic Programming (19) Linux (19) Tree (18) Machine Learning (15) EPI (11) Queue (11) Smart Algorithm (11) Operating System (9) Java Basic (8) Recursive Algorithm (8) Stack (8) Eclipse (7) Scala (7) Tika (7) J2EE (6) Monitoring (6) Trie (6) Concurrency (5) Geometry Algorithm (5) Greedy Algorithm (5) Mahout (5) MySQL (5) xpost (5) C (4) Interview (4) Vi (4) regular expression (4) to-do (4) C++ (3) Chrome (3) Divide and Conquer (3) Graph Algorithm (3) Permutation (3) Powershell (3) Random (3) Segment Tree (3) UIMA (3) Union-Find (3) Video (3) Virtualization (3) Windows (3) XML (3) Advanced Data Structure (2) Android (2) Bash (2) Classic Algorithm (2) Debugging (2) Design Pattern (2) Google (2) Hadoop (2) Java Collections (2) Markov Chains (2) Probabilities (2) Shell (2) Site (2) Web Development (2) Workplace (2) angularjs (2) .Net (1) Amazon Interview (1) Android Studio (1) Array (1) Boilerpipe (1) Book Notes (1) ChromeOS (1) Chromebook (1) Codility (1) Desgin (1) Design (1) Divide and Conqure (1) GAE (1) Google Interview (1) Great Stuff (1) Hash (1) High Tech Companies (1) Improving (1) LifeTips (1) Maven (1) Network (1) Performance (1) Programming (1) Resources (1) Sampling (1) Sed (1) Smart Thinking (1) Sort (1) Spark (1) Stanford NLP (1) System Design (1) Trove (1) VIP (1) tools (1)

Popular Posts