程序员找bug的秘密武器居然是浴室常用的橡皮鸭子!

程序员最大的烦恼是什么?无非就是因为在编程的过程中一个又一个bug的出现。

也许你会为了找代码里的bug,困在代码的世界里几个小时甚至几天的时间。

在被bug日复一日困住的同时,程序员为了保住最后的头发,所以他们找了一种找bug的秘密武器——Rubber Duck Debugging,橡皮鸭调试法(又名:小黄鸭调试法)。

“橡皮鸭调试法”并不是指橡皮鸭成精了,能自己找bug哦!它要是成精能自己找bug了,那估计这个世界就没我们程序员什么事了!

这个方法是指程序员们向鸭子们解释代码,在解释代码的过程中可以帮助程序员发现代码中的问题,更容易找到解决方法。

 “橡皮鸭调试法”,这个方法在调试界是很出众的,实施起来相当方便和简易,几乎可以随时随地地实验,几乎不需要借助任何的软件和硬件的支持,你甚至可以把你的程序打印出来,在纸面上进行调试。

那么,具体是怎么操作的呢?

Rubber Duck Debugging网站很认真的给出了用橡皮鸭找bug的详细过程。

首先,你得有一只鸭子,而且还是一只橡皮鸭子。只有有了一只橡皮鸭子,你才能继续下一步。

当你有了橡皮鸭子之后,你需要把鸭鸭郑重地放在桌上,跟人家鸭鸭说清楚,并且可以的话,你想用人家检查一下代码。

然后,你就可以跟鸭鸭解释,你的代码本来应该是做什么的,然后深入细节,逐行解释你的代码。

以上就是整个用鸭鸭找bug的流程啦!

其实,这个原理在于,你在解释的过程中,你会告诉鸭鸭你的下一步是做什么,一条一条的理清自己的思路,你会意识的你现在做的并不是你实际要做的东西。

这样,你就能知道你的问题出在哪,bug就这样被找见啦~

而这个时候的鸭鸭,依然平静着坐在你的桌前,静静的与你分享找到bug的喜悦,为保住你仅剩的头发感到欣慰。

注意!在紧急情况下,是可以用你的同事代替鸭子的。当然,在通常情况下,大家还是更倾向把错误告诉鸭鸭,而不是同事。

在网上也有网友现身说法,告诉我们这件事的可行性。

你们回复可能是觉着程序员对着鸭子说话很好笑,而我回复是因为想到一个画面很好笑。想象一下,一个程序员正解释着自己的代码,解释到bug的时候猛地发现了自己错误的地方,然后激动地用手勒着鸭鸭的脖子狂喊“为什么居然犯了这个简单的错?!”“我是不是瞎了?!”

底下还有程序员回复:

作为程序员,我可以很负责任地告诉你,确实是这样没有错了。因为大家找出bug的时候比较激动,我们班都不让带鸭子了,大家找到bug的时候一激动,就是把鸭鸭抛起来或者摔墙上。

而且越来越多的人出现在回复里,来说明用橡皮鸭子来找bug是程序员杰一件很普遍的事情。

我在一家创业公司工作,在你刚入职的时候,拿到的一系列东西里,就包括一只橡皮鸭子。我们公司还有个大一点的鸭子,专门为了更难的问题准备的。有时候可能一个鸭子不够,你还得借你邻桌同事的鸭子来解决问题。

有一次,有个问题我们一只琢磨不出来,所以我们就把鸭子都召集起来,在鸭鸭之神的保佑下,我们才顺利的相处解决办法来。

这些鸭鸭救了很多人的命,像它们这样的英雄是应该得到尊敬的。

事实上,我用橡皮鸭子来写作。解释我现在正在做的事,我预期目标,以及我从A点达到B点的不同方法。除了这些,还有很多不同的问题,在我跟鸭子解释为什么我能或者不能去做这些事的时候,我都会顺利地找到解决问题的办法。我爱橡皮鸭理论。

前程序员,证明鸭鸭找bug确实是真的,我们办公室没有鸭子,所以我邻桌的程序员,就会像用鸭子那样来用我。(只是解释用,不会扔哦。)很多次,我都会听到邻桌幽幽地飘来一句“你能变一会鸭子吗?”

很多小伙伴可能会疑惑,为什么跟橡皮鸭解释会这么有用呢?

livejournal网站上的一位网友给出了自己的答案。

“我觉得,把你存在的问题变成口头上的询问,会让你的大脑换个角度去考虑问题。你把问题转变一下,从回答问题的人的角度来看问题,就能让你的大脑设身处地地为回答问题的人着想。”

在你盯着一行行代码试图找出bug的时候,你还是创造这些代码的程序员思维。

而你在跟鸭鸭对话,一问一答之间,你就会跳出写代码的程序员思维,从回答问题的角度来考虑,以旁观者的视角就更容易找出bug啦~

最后也别忘了跟帮助你的鸭鸭说一声谢谢哦。

想了解更多Java、程序员等相关知识,可以下方扫描二维码或微信搜索“速学Java”关注我们哟~

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 200,302评论 5 470
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 84,232评论 2 377
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 147,337评论 0 332
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 53,977评论 1 272
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 62,920评论 5 360
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,194评论 1 277
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,638评论 3 390
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,319评论 0 254
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,455评论 1 294
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,379评论 2 317
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,426评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,106评论 3 315
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,696评论 3 303
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,786评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 30,996评论 1 255
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 42,467评论 2 346
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,043评论 2 341

推荐阅读更多精彩内容