阅读更多

3顶
0踩

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

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

1.我能通过互联网解决问题

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

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



(漫画由 伯乐在线 - 轻如纸张 翻译,来自《吐槽编程问题的五张漫画》)

某论坛上点赞最多的答案毫无用处!”—— Ramchand Rajasekaran

2.键盘上最重要的按键坏了

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



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



3.网络连不上,或者掉线了

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

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

4.无法再现的危险错误

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

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

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.段错误

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

英文出处:CSM
译文由 伯乐在线 - 胡西瓜 翻译
  • 大小: 44.3 KB
  • 大小: 18.2 KB
  • 大小: 8.6 KB
来自: 伯乐在线
3
0
评论 共 0 条 请登录后发表评论

发表评论

您还没有登录,请您登录后再发表评论

相关推荐

  • 在liunx中执行hql文件并传参

    hive执行hql文件并传参,遍历执行区域时间范围内的hql文件。

  • Hql查询里like查询传参写法

    String sql = "select count(t.id) as C from LAS_CONTRACT_INFO t where t.name like :name) "; Query query= this.getEntityManager().createNativeQuery(sql); query.setParameter("name", "%"+name+"%");...

  • HQL语句注解in传参问题

    这个问题太崩溃了!这是最后的解决办法,不用in关键字,用locat()函数。用in关键字穿参数,数据找不到

  • mysql hql查询语句_Hibernate hql查询代码实例

    本文研究的主要是Hibernate hql查询的相关内容,具体如下。HQL介绍Hibernate语言查询(Hibernate Query Language,HQL)它是完全面向对象的查询语句,查询功能非常强大;具备多态、关联等特性,HQL查询也是Hibernate...

  • HQL实现模糊查询两种传参方式

    其实各个方法的实质都是一样的,只不过传递参数的方法稍微有点区别  第一种:  public List getUsers... String hql="from User as user where user.id like '%"+id+"%'"; factory=DBHelper.getSessionFac

  • Hibernate_HQL

    目录 一、概念 二、HQL和SQL的区别 三、使用 1、根据返回值类型分类 ...四、封装基于Hibernate框架的通用查询 ...①SQL查询表和表中的列,HQL查询对象和对象属性 ②HQL的关键字不区分大小写,类名和属性区分大小写

  • Hibernate的HQL查询清单整理

    使用HQL一直很慌张,没有底气 闲来抽了时间把常用的操作测试一遍,亲测可用 1、无条件 查询所有字段 String hql = "from Customer u " ; 2、添加where语句条件查询 String hql = "from Customer u where u....

  • JPA使用 in 作为查询条件时如何传参

    public List<Persion> listPersions(List<String> listStr,Map<String,Object> paramMap){ String sql = "select *from Persion where 1=1"; if (listStr.size != 0) { ...

  • hql关联表、map/list查询

    介绍下关于HQL中的关联表查询的用法吧,这个算是我自己摸索尝试出来的,也许不是最优化的,但还是可以和大家分享探讨下   之前由于对hql的了解不深,后来要使用关联表查询的时候,就特意查询了一些资料,其中...

  • hibernate查询日期Date传参

    1、传String,将String转成"yyyy-MM-dd hh:mm:ss"格式。 2、sql里用to_char 函数来比较大小。 nowDateGet = nowDateGet.replace("T"," ...hql.append(" and to_char(clickTime,'yyyy-MM-dd hh24:mi:ss') >= ? a

  • HQL枚举类查询

    HQL枚举类查询踩坑记录 问题描述 在开发一个SSH老项目的过程中,写HQL遇到了类型转换错误: Integer can't cast to Enum HQL语句如下: select pr.agencyName from Project pr where pr.type = :type and pr.status ...

  • 10.hibernate的查询--HQL查询

    1.HQL查询 2.QBC查询 3.SQL查询 1.HQL查询 1.基本查询 HQL(Hibernate Query Language),hibernate的专属语言,可以跨数据库,根据不同数据库方言翻译成不同sql,跟SQL很相似。 1.插入数据 @Test public ...

  • Hibernate HQL条件查询的参数传递方法

    HQL支持where实现条件查询,与sql语法相似 例如查找姓名中含有1的学生信息:   String hql = "select s.id, s.name from Student s where s.name like '%1%'";   try

  • HQL语句对find_in_set 的编写,及传参形式

    正常的sql :select * from tbl_provider where find_in_set(48,manager)HQL查询:@Query(value ="from Provider t WHERE find_in_set(:managerId, t.manager)>0") List<Provider> ...

  • HQL中in类型的传参

    public IList[]> GetProResultBySubjectId(string subjectList, string planYear, string projectId)  {  var query = Session.CreateQuery(@"select u,b.Investment,u.SubjectBlance + b....

  • JPA使用HQL时IN条件数组参数问题

    当JPA执行以下代码 @Query(nativeQuery = true, countQuery = "select count(*) from TBL a " + "where chan_ID in( select chan_ID from tbl_nl where COMPANY_ID=:companyId AND chan_co...

  • Hibernate的八大类HQL查询集合

    Hibernate的八大类HQL查询集合:  一:属性查询(SimplePropertyQuery)  1,单一属性查询  *返回结果集属性列表,元素类型和实体类中相应的属性一致  2, 多个属性查询,  * 返回集合中的元素是object...

  • Hibernate的map映射关系查询&原生HQL转SQL

    使用原生HQL通过从表数据进行数据过滤,查询总是无结果。于是本来是想先转为原生sql检查下,看看为啥查询没有结果,转为原sql后原因找到了,发现是sql问题,怀疑是hibernat或封装的Finder有问题(...

  • 框架搭建内容合成的描述

    框架搭建内容合成的描述

  • 【Godot4自学手册】第三十八节给游戏添加音效

    【Godot4自学手册】第三十八节给游戏添加音效

Global site tag (gtag.js) - Google Analytics