这是 Jerry 2021 年的第 57 篇文章,也是汪子熙公众号总共第 334 篇原创文章。
Jerry 之前的文章 ABAP 真的会过期吗?聊聊 ABAP 的过来,当初和将来 外面提到了 三国演义十大谎话之首,有认真的读者在微信上问我,其余九大谎话各是什么?
作为一个三十年的老三国迷,我很小的时候就熟读《三国演义》了,外面的桥段早已烂熟于胸。另一方面,我从 2000 年进入大学校园开始承受正规的编程训练,至今曾经二十一年了。明天这篇文章,聊聊我心中的三国演义十大谎话,同编程行业的十大口头禅做个比照。
申明 1:严格意义上讲,本文提到《三国演义》书中这些“谎话”,只是为了渲染故事情节,衬托人物形象,推动情节倒退之用,和事实中谎话的定义有肯定差距。
同样,本文介绍的程序员十大口头禅,尽管是程序员出于自嘲目标调侃之用,但也的确反映了软件开发中一些通病。大家本着有则改之,无则加勉的态度浏览就行了。
申明 2:排名先后没有主观的评估规范,纯正依照 Jerry 主观志愿来排序的。
申明 3:Jerry 深知《三国演义》里形容的内容和野史有很大出入,本文基于为公众所熟知的《三国演义》,而非野史。
上面是文章的注释。
十大谎话第十位:上将潘凤和程序员的“这个 bug 很简略,很快就能改好”
东汉末年,董卓篡权,把持朝政,倒行逆施,激发十八路诸侯星散虎牢关加以讨伐。董卓派出猛将华雄守住关口,败孙坚,诛祖茂,斩俞涉,群雄触动。
太守韩馥曰:“吾有上将潘凤,可斩华雄。”绍急令出战。潘凤手提大斧下马。去不多时,飞马来报:“潘凤被华雄斩了。”
本认为潘凤是个王者,原来是个青铜。
程序员免不了和 bug 打交道。有些冒失的程序员,看到一个貌似简略的 bug 时,也免不了夸下海口:这个 bug 容易,很快就能修复。
我之前的文章 我与 SAP 成都研究院吴院长的二三事 介绍了我之前解决 SAP CRM 中间件的一个客户 issue 的故事。
过后我也像很多程序员一样,拍着胸脯自信地对我的老板吴院长说道:“只须要批改一个函数,就能解决这个问题。”
十大谎话第九位:孟获自夸颇知兵法和程序员的“这个需要技术上无奈实现”
刘备守业多年攒下的一点家底,在夷陵被儒帅陆逊烧了个精光。刘备身死白帝城后,西蜀大本营前方的南蛮孟获蠢蠢欲动。诸葛亮亲自出征,对其施行降维打击,七擒七纵。
孟获曰:“吾虽蛮人,颇知兵法;若丞相端的肯放吾回洞中,吾当率兵再决胜负。若丞相这番再擒得我,那时倾心吐胆归降,并不敢改移也。”
孟获被诸葛亮擒获后,在诸葛亮背后搭上一块本人“颇知兵法”的遮羞布,但很快就被打脸,又双叒叕被捉了。
“这个需要技术上无奈实现”也是程序员的遮羞布。Jerry 去年也用过一次,起初和孟获一样,惨遭打脸。详情参见我的文章:Jerry 的检查:程序员不要轻易说出 ” 这个性能技术上无奈实现 ”。
图片:南蛮王孟获
十大谎话第八位:荀正称关二爷为无名下将和程序员的“这个谬误无奈重现 / 在我电脑上是好的”
荀正是谁?预计很多人只认得荀彧和荀攸。而荀反比起这两位本家,名气可差太远了。此人乃袁术帐下纪灵的副将,货真价实的无名下将。
令人惊奇的是,这种小角色,居然敢在关二爷背后口出不逊:
关公曰:“只教纪灵来,与他决个雌雄!”荀正曰:“汝乃无名下将,非纪将军对手!”
结果就是:
关公大怒,直取荀正;交马一合,砍荀正于马下。
图片:武圣关羽
“这个谬误无奈重现”,Jerry 的职业生涯里,我也记不清说过多少次了。失常状况下,它的下一句就是:
I will close the incident / ticket now.
十大谎话第七位:刑道荣力敌万人和程序员的“这代码我曾经测过了,不可能有问题,应该是配置 / 环境起因”
零陵太守刘度,闻刘备军马到来,乃与其子刘贤商议。贤曰:“父亲释怀。他虽有张飞、赵云之勇,我本州上将邢道荣,力敌万人,能够抵对。”
后果:
刑道荣只望黄旗而赶。抹过山脚,忽地地方离开,只见张飞挺矛跃马,大喝一声,直取道荣。道荣轮大斧来迎,战不数合,气力不加,拨马便走。
道荣走不十里,赵云引一军刺斜里杀出,一枪刺道荣于马下。
刑道荣先速败于张飞,再败于赵云。这真的算得上是力敌万人吗?
图片:取上将首级如同唾手可得般的张飞
同样,如果一段代码只能在某些环境 / 配置下能力失常工作,真的算得上是没有问题吗?
十大谎话第六位:诸葛亮称誉马谡为当世之英才和程序员的“这是一个已知的问题 / 以前就有这个问题 / 这是框架的问题 / This is working as designed”
刘备白帝城托孤之时,以目遍视床前群臣,只见马良之弟马谡在傍,刘备令且退。谡退出,刘备谓孔明曰:“丞相观马谡之才何如?”孔明曰:“此人亦当世之英才也。”刘备曰:“不然。朕观此人,夸大其词,不可大用。丞相宜深察之。”
不得不说如诸葛亮这种高人,也有看走眼的时候。刘备毕竟是领导,看上司的眼光比诸葛亮这种打工仔更高一筹。马谡尽管不能算干才,然而在街亭之战中生搬教材,间接断送了西蜀第一次北伐的大好形势,这个战绩也很难匹配“英才”二字。
图片:诸葛卧龙也有看走眼的时候
现在程序员开发的程序复杂度日趋进步,利用开发简直不可能来到框架的反对了。在解决一个 bug 时,咱们切勿在考察分明前自觉下结论,免得犯下相似诸葛亮那样的谬误。
十大谎话第五位:司马懿指洛水为誓和程序员的“这个性能不是我开发的”
司马懿高平陵政变,命校尉尹大目传话给曹爽,曰:“太傅 (司马懿的官衔) 指洛水为誓,只有将军削去兵权,早归相府,并无他意。”爽信为良言,掷剑而叹曰:“我不起兵,愿意弃官,但为富家翁足矣!”
后果:
司马懿命手下押曹爽兄弟三人并一干人犯,皆斩于市曹,灭其三族;其家产财物,尽抄入库。
图片:诸葛亮毕生最强劲的对手: 司马懿
当你去问程序员一个问题时,如果程序员答复说,“这个性能不是我开发的”
,有可能的确如此,也有可能是 “这个问题我也不分明”
的婉转说法。
十大谎话第四位:吕布给曹操画饼和程序员的“试试”大法
吕布白门楼被曹操擒获,在生死关头,给曹操画饼,试图挽回一命:
曹操上楼来,吕布叫曰:“明公所患,不过于布;布今已服矣。公为大将,布副之,天下不难定也。”
面对这位三国演义里超一流武将向本人表忠心,曹操显然心动了,回顾玄德曰:“何如?”
玄德答曰:“公不见丁建阳、董卓之事乎?”
吕布卒。
图片:飞将吕布,三国演义第一武将
当程序员遇到难题去求助共事时,也往往可能播种相似刘备这种“神助攻”:
- 你刷新试试。
- 你革除缓存试试。
- 你重启试试。
- 你换个电脑试试。
。。。
十大谎话第三位:曹操“汝妻子吾自养之”和程序员的“TODO / 这个问题咱们未来再优化”
曹操率十七万大军,围攻袁术。军粮将尽,官粮官王垕向曹操告急。曹操玩了一个诡计。
操曰:“可将小遣散之,姑且救一时之急。”垕曰:“士兵倘怨,如何?”操曰:“吾自有策。”垕依命,以小斛扩散。操暗使人各寨刺探,无不嗟怨,皆言丞相欺众。操乃密召王垕入曰:“吾欲问汝借一物,以压众心,汝必勿吝。”垕曰:“丞相欲用何物?”操曰:“欲借汝头以示众耳。”垕大惊曰:“某实无罪!”操曰:“吾亦知汝无罪,但不杀汝,军必变矣。汝死后,汝妻子吾自养之,汝勿虑也。”垕再欲言时,操早呼刀斧手推出门外,一刀斩讫,悬头高竿,出榜晓示曰:“王垕故行小斛,偷盗官粮,谨按军法。”于是众怨始解。
曹操就这样,仅仅就义了一个小角色的性命,空手套白狼,就平息了部下因为军粮将尽饿肚子的嗟怨。
图片:曹操,治世之能臣,盛世之枭雄
至于他是否真会履行诺言,奉养王垕的妻子?他的对头刘备,崇奉“妻子如衣服,兄弟如手足”,而曹操却是爱江山爱美人更爱人妻的主。如果王垕妻子有张绣婶婶邹夫人那样的姿色,那么这个诺言或者会成真。
程序员也常常允诺。比方以后代码还有很多瑕疵,或者是采取了一些 workaround 让代码先跑起来,那么往往会加上一些 TODO 正文:“这个版本先这样,等未来再优化。
”
理论状况中,“未来再优化
”大概率变成了“ 未来就这样吧
”。
十大谎话第二位:刘备最冠冕堂皇的抢地盘理由和程序员的“曾经差不多了”
刘备在付出损失了凤雏庞统的惨痛代价后,终于把西川从同宗刘璋那里抢过来了。
刘璋出城投降,玄德出寨迎接,握手流涕曰:“非吾不行仁义,奈势不得已也!”共入寨,交割印绶文籍,并马入城。
把赤裸裸收兵争夺他人地盘的行为润饰得如此情非得已,刘皇叔不愧世之枭雄。
图片:刘备说哭就哭的实力派演技,相对秒杀当今娱乐圈某些花瓶
“奈势不得已也!
”这是一句枭雄们在盛世中能够随心所欲的万能借口。
“这个需要你的进度如何了?”
程序员答曰:“曾经差不多了。
”
“这个 bug 改完了吗?”
程序员答曰:“曾经差不多了。
”
有个段子。
上班之前,测试妹子走到开发人员身边,“那个 bug 改得怎么样了?”
开发人员:“曾经差不多了。
”
测试妹子:“那你记得上班之前肯定要提交代码。今晚我把电脑拿回家,测试你提交的代码。”
开发人员:“好。”
第二天早上下班,测试妹子来到公司,发现开发人员还坐在工位上,问:“你昨晚为什么不提交代码?我始终等着测试。”
开发人员:“我还没上班。”
十大谎话第一位:卧龙凤雏得一可安天下和“PHP 是世界上最好的语言”
卧龙凤雏,得一可安天下。多有声势的一句话!
玄德喜曰:“昔司马德操言:‘伏龙、凤雏,两人得一,可安天下。’今吾二人皆得,汉室可兴矣。”
Jerry 小时候第一次读完庞统殒命落凤坡,诸葛亮星落五丈原的章节后,百思不解: 不是得一就可安天下吗?这就 Game Over 了?
起初我才明确,水镜学生过后还有一句:“卧龙凤雏,虽得其主,不得其时也,惜哉。
”
看来水镜学生才是《三国演义》里第一高人,轻轻松松一句话,就把本人之前的谎话中的破绽补上了。
图片:诸葛亮虽鞠躬尽瘁,但凭一己之力无奈带领西蜀与人口和资源都占压倒性劣势的曹魏反抗,最终壮志未酬,殒命五丈原
有程序员有编程语言的中央就有江湖。江湖中也流传着对于 PHP 的传说:PHP 是世界上最好的编程语言,没有之一。
网络上甚至有一个专门强调这个观点的网站,url 非常容易记忆:
https://php-is-the-best-langu…
这个网站没有别的内容,就是论述了为什么 PHP 是世界上最好的编程语言。服不服?
敌人们心中还有哪些三国演义 / 编程语言里乏味的段子? 欢送留言分享。感激浏览。