当前位置:首页 > 单片机 > CPP开发者
[导读]花了一下午(或一天)在试图解决某个Bug,后来才知道解决方案很简单,当时就是没有想到。有个同事正好路过,看到你愁眉苦脸的,问你“怎么了呀?”“噢,是这样的。我遇到了一个问题,点击这个控件的时……”当你正准备和同事详细解释的时候,突然灵光一现,你话都没说完,就中断了和同事的倾诉,继...

花了一下午(或一天)在试图解决某个 Bug,后来才知道解决方案很简单,当时就是没有想到。


有个同事正好路过,看到你愁眉苦脸的,问你“怎么了呀?”


“噢,是这样的。我遇到了一个问题,点击这个控件的时……” 当你正准备和同事详细解释的时候,突然灵光一现,你话都没说完,就中断了和同事的倾诉,继续干活了。


同事微微一笑,又走开了。他并没有怪你。


相信大家都有类似的经历。遇到 Bug/问题被卡住了,拉个人过来,和他 blablabla 讲了一通,很多时候中途你就找到了解决办法。


有时候,并不一定要和人倾诉,还可以像其他东西倾诉,强迫自己把遇到的问题,详细地解释出来(一定要说出来)。


其实呢。这种方法,有一个术语:小黄鸭调试(Rubber Duck Debugging)。

维基百科有解释:小黄鸭调试法是软件工程中使用的调试代码方法之一。就是在程序的调试、纠错或测试过程中,耐心地向小黄鸭解释每一行程序的作用,以此来激发灵感。


名称由来


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


(大家可以看下图。鸭子真不少呢。)



演化


这种方法流传开后,很多程序员效仿,开始拿其他玩具,比如手办。喜欢二次元的,还会拿初音哈。或者是其他公仔呀。如下图。



“小黄鸭调试法”既能提升自己解决问题的能力,也提高了团队开发效率(毕竟,自己独立解决难题比打断其他同事去求助,团队的效率差之千里)。这个方法真是程序员的”开发必备良策“,值得在每一个开发团队推广。


范品社把这种调试法做到了卫衣
本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除( 邮箱:macysun@21ic.com )。
换一批
延伸阅读
关闭