小黄鸭调试法

王誉睿 2019年05月10日 6次浏览

小黄鸭调试法,又称橡皮鸭调试法黄鸭除虫法(Rubber Duck Debugging)是可在软件工程中使用的一种调试代码的方法。方法就是在程序的调试、除错或测试过程中,操作人耐心地向小黄鸭解释每一行程序的作用,以此来激发灵感与发现矛盾。

名称由来

此概念是参照于一个故事。故事中程序大师随身携带一只小黄鸭,在调试代码的时候会在桌上放上这只小黄鸭,然后详细地向鸭子解释每行代码。

许多程序员都有向别人提问及解释编程问题的经历,而目标甚至可能是完全不懂编程的人。而就在解释的过程中,程序员可能就发觉了问题的解决方案。一边阐述代码的意图,一边观察它实际上的意图并做调试,两者间的任何不协调都会变得更明显,使人更容易发现错误所在。[2]如果没有玩具小鸭,操作人也可以向其他任何东西倾诉,比如桌上的盆栽键盘鼠标等。

流行文化

2018年4月1日愚人节当天,问答网站Stack Exchange推出了名为“呱呱叫溢出”的功能:一个小黄鸭形象会从网页右下方冒出来,它会倾听使用者的想法,并尝试给出解决方案。实际上,这个小黄鸭形象会看起来在思考并且尝试以文字回应,但最后只会以“呱呱”(quack quack)的叫声来回应使用者。Stack Exchange宣称这一功能与小黄鸭调试法有关。[3]不过一些用户在看到这个小黄鸭形象时,以为是恶意软件的结果,没有意识到这是一个愚人节玩笑。

参见