程序员是项很苦逼的职业,一个人很寂寞,有其他人呢又会觉得烦,因此也就应运产生了所谓的“小黄鸭调试法(Rubber duck debugging)”,就是在调试/纠错/测试过程中,耐心地向小黄鸭解释每一行程序的作用,以此来等待灵感的降临。
什么是小黄鸭调试法
我来科普一下:在StackOverflow上看到Rubber duck debugging (wiki) 这个概念
按照wiki上的说法
传说中程序大师调试代码的时候会在桌上放上一只玩具橡皮鸭,调试的时候他会不断地,详细地,向鸭子解释自己的代码…
如果没有玩具小鸭子也可以考虑向其它东西倾诉..比如桌上的花花草草,键盘鼠标 (汗)。
好吧,正经地说这也是软件工程里的一个概念,一边阐述修改代码的意图一边做调试,就会更容易发现自己的错误。
类似的,有一种现象叫做Cone of Answers,不知道如何翻译这个词。这是一个常见的现象。你的朋友跑来问你一个问题,但是当他自己把问题说完,或者说到一半的时候就想出了答案走了,留下一脸茫然的你。是的,这个时候你就起到了那只橡皮鸭子的作用…
相似的概念还有不少,前面的wiki页面底部列出了好几个。总的来说,在你试图表述自己的想法的过程中,自然地在促使自己去整理思路,重新考虑问题。Thinking out loud 可能是一种不错的做法。
记得在看美剧《边缘危机》的时候,里面的博士就常用这种方法,来唤醒以前的记忆片段,很不错的概念。
类似的事情:有时候跟朋友聊天,聊一半突然想说个相关事情,但我没打断他,等他说完再想说却发现突然忘了,然后我就会顺着之前的话重新说一遍,就会突然又想起来要说什么了。