身为程序员的你,有没有见到过下面的场景?
花了一下午(或一天)在试图解决某个Bug,但是似乎问题很复杂,总是没有思路。
有个同事正好路过,看到你愁眉苦脸的,问你“怎么了呀?”
“噢,是这样的。我遇到了一个问题,点击这个控件的时……” 当你正准备和同事详细解释的时候,突然灵光一现,你话都没说完,就中断了和同事的倾诉,继续干活了。
同事微微一笑,又走开了。他并没有怪你。
相信大家都有类似的经历。遇到 Bug/问题被卡住了,拉个人过来,和他 blablabla 讲了一通,很多时候中途你就找到了解决办法。
有时候,并不一定要和人倾诉,还可以像其他东西倾诉,强迫自己把遇到的问题,详细地解释出来(一定要说出来)。其实呢。这种方法,有一个术语:小黄鸭调试法(Rubber Duck Debugging)。
维基百科有解释:小黄鸭调试法是软件工程中使用的调试代码方法之一。就是在程序的调试、纠错或测试过程中,耐心地向小黄鸭解释每一行程序的作用,以此来激发灵感。
名称由来
此概念是参照于一个故事。故事中程序大师随身携带一只小黄鸭,在调试代码的时候会在桌上放上这只小黄鸭,然后详细地向鸭子解释每行代码。(引自维基百科)
有的朋友问我,什么样的小黄鸭呢?
好吧。如果你有孩子,有一位女儿或是儿子,你一定知道那是什么样的。什么,你是单身狗。好吧,给你上个图!
话说,只有小黄鸭么?小狗熊可以不,甚至小狮子可以不?可以可以!只要你开心,就都可以。那么问题来了,你喜欢用什么?
我是IT老司机米洛,十年软件开发工程师,觉得文章有用,请点转载,赠人玫瑰,手有余香。