写bug的时候,自己怎么都找不到bug原因。一发出来问别人,还没等别人回答自己就发现bug原因了

[软件开发] 季雨林 2019/12/10 9:11:58

如题所述,很多程序员都有这个经历:

写bug的时候,自己怎么都找不到bug原因。一发出来问别人,还没等别人回答自己就发现bug原因了


这诡异的现象不是我自己有,很多开发者都有遇到。然后有大神指出,这种现象叫做《小黄鸭调试法》。


关于《小黄鸭调试法》,百度百科解释如下:

       此概念是参照于一个来自《程序员修炼之道》书中的一个故事。传说中程序大师随身携带一只小黄鸭,在调试代码的时候会在桌上放上这只小黄鸭,然后详细地向鸭子解释每行代码 [1]  。

  许多程序员都有过向别人(甚至可能向完全不会编程的人)提问及解释编程问题,就在解释的过程中击中了问题的解决方案。一边阐述代码的意图一边观察它实际上的意图并做调试,这两者之间的任何不协调会变得很明显,并且更容易发现自己的错误。如果没有玩具小鸭子也可以考虑向其它东西倾诉,比如桌上的花花草草,键盘鼠标。

  类似的,有一种现象叫做cone of answers,这是一个常见的现象。你的朋友跑来问你一个问题,但是当他自己把问题说完,或者说到一半的时候就想出了答案走了,留下一脸茫然的你。是的,这个时候你就起到了那只小黄鸭的作用。

  相似的概念还有不少,例如自白调试、纸板程序员或程序员的假人、想出脑外等等。总的来说,在你试图表述自己的想法的过程中,自然地在促使自己去整理思路,重新考虑问题。



原文地址: https://www.opengps.cn/Blog/View.aspx?id=566 文章的更新编辑依此链接为准。欢迎关注源站原创文章!

评论

暂无评论!

发表评论:

用于接收作者回复信息
点击更换验证码 - openGPS提示