程序员桌子上摆上一个甚至一堆小黄鸭,你可能见过,但你一定会忽视。

你谈论着程序员的秃头、365全季工服,以及和乙方般被动的恋爱态势,但你从未真正关心过他们。

牧师需要光明,船长需要罗盘,程序员需要鸭子。圣克拉拉县山景市的Google极客和布达佩斯居民楼里的洋葱网络流氓,桌上都会出现鸭子。

这是一种心照不宣的程序员文化。

尽管早已过了与鸭共浴的年纪,但小黄鸭依然成为了他们工作中不可或缺的伴侣。

小黄鸭的身影出现在有程序员出没的任何可能的地点。

在旧金山南湾和洛杉矶西区的流媒体创业公司,与在卢旺达临时板房搭建电子商务平台的技术极客,他们身边的黄鸭没有区别。

只要是程序员的办公驻地,就可以寻觅到小黄鸭的踪迹。

如果没有,那只能说明程序员文化还停留在coder coding code的阶段。

或许与许多人的想象不同,对于现实中的程序员来说,在很多时候写代码牛逼并不是能力的全部,十足耐心调试代码才是常态。

打个简单的比方,怀上只需一晚上,但孕育则需要十个月。

而调试这一过程,在程序员的工作中占据高达50%~75%的时间。

根据数据记录分析公司Coralogix的统计,平均来说程序员产出每1000行代码,就会出现70个bug,而修复bug所花的时间比重新编写一行代码要长30倍。

这让许多程序员意识到,自己在排除bug所花费的精力,往往是抽干自己所剩不多精力的重要指标。

你花费一天时间编写出几千行代码,却看到编译结果Unexpected token ILLEGAL,接着要浪费数天的时间穷举案例、排查纠错,然后又继续重复这个过程。

你觉得自己就是推巨石上山的西西弗斯。

直到把前几千行代码都改过后,才发现自己是把倒数第五行的分号误写成了中文格式,这种感觉会让人想把大脑从耳朵揪出来,然后叫一个女巫用冰冷的邪舌把脑沟舔一遍再塞回去。

代码和bug如影随形,是这世上不可协调的矛盾之一。

人永远无法像机器一样严谨,而机器也不具有人类的跳跃思维、联想能力。

那会不会存在某种方法,可以让人机之间的沟通达成协调?

答案就是小黄鸭调试法。

做法十分简单,放空你那塞满问号的浆糊大脑,将小黄鸭放到显示器与你之间。

然后对着可爱的小黄鸭,把它当做最好的朋友,当做一个代码白痴。

对它不留遗漏地解释代码,遍历代码的所有行,并讲得尽可能清晰。

如果你足够投入扮演讲师的角色,或许在你从未想象过的极短时间内,就会得到答案。

“从前程序员要用直尺和C语言手册排查,有时候还要用锤子辅助,在服务器上贴东方经文加持庇护。”

“现在我们只需要一只小黄鸭。”

该方法最早被记录在程序员圣经《The Pragmatic Programmer》,这本书旨在帮助初出茅庐的程序员将技术职业规范化。

中文译名:程序员修炼之道

事实上,这种作法在教育心理学领域被称为费曼学习法,其重点就是将所学知识传授给他人。

由于需要精确复述你的想法,你将不得不关注此前认为理所当然的一切,从而引发思考、加深理解。

正如班里学习最好的同学从不吝啬给他人讲题一样,他们的收获远比你想象的要多。

尽管古早的技术大牛们未曾理解其背后的原理,但却务实的将其口口相传。

如果github的北极代码库有人类仓位,那它的入场券一定是小黄鸭的样子。

直到现在,这种原本作为洗浴伴侣的单品已经进驻大多数码农的办工桌,和hhkb键盘一样意义非凡。

你可以在购物平台的小黄鸭评论下,看到全球程序员对小黄鸭的大力赞赏。

也会看到初入此道者对其伴侣的甄选。

很多编程培训机构也把小黄鸭当作入学礼,点亮码农职业生涯的明灯,同时也保住了他们珍贵的秀发。

当全组人都在为赶项目而争分夺秒时,你绝不希望自己拖进度,成为领导眼中的累赘。

无论你是在BAT搬砖,还是在FAG打工,都不可能一遇到BUG就去找隔壁工位的战友,因为他可能也在用最后的那滴精血在debug。

而你又不可能在深夜加班时,打电话给父母或者伴侣,从底层讲起代码。

想象一下,如果你的伴侣或好友,在深更半夜打来电话对着你讲94年Intel CPU浮点运算的传奇bug,与一个从未见过的错误状态码时,你会不会想挂断电话?

程序员在敲代码的路上总是孤独的。

码农的生活中多半时间是与机器打交道,和自己做抗争。

而这时候,小黄鸭的优点体现得淋漓尽致。

对小黄鸭梳理思路不会耽误其他人,也不会在人群中引起注意,毕竟搞创造力工作的人自言自语不算新鲜事。

作为倾诉对象,小黄鸭绝对是最佳人选。

当你从头到尾讲述自己的代码架构与指针设计后,无须经人指点就能够找到通往救赎之路的金钥匙。

当然橡皮鸭不一定要实体,也可以是以数字的形式存在。

例如网站Duckie(即鸭),通过在线键入内容,为困恼的程序员捧哏。

它好像听懂了机器人三大定律

甚至于,小黄鸭调试法不用小黄鸭来操作,只要你愿意,你可以在工位上对着一堆迪克倾诉。

如果童心未泯,你也可以在工位上摆上一个大号的娃娃来倾吐衷肠诉解烦忧。

但前提是,你已经找好了下一份工作。

作者:beebee 星球

相关文章