比程序猿鼓励师更能降低bug的,是鸭子?

     分类 [产品经理]
2023/5/9 16:46:34 浏览量  605 喜欢  14
导读:传说中程序大师随身携带一只小黄鸭,在调试代码的时候会在桌上放上这只小黄鸭,然后详细地向鸭子解释每行代码

比程序猿鼓励师更能降低bug的,是鸭子?

比程序猿鼓励师更能降低bug的,是鸭子?
小李入职一年多,曾经因为代码漏水,被主管老李痛批了。
然后发现小李经常对着桌上的黄鸭嘟囔。
作为产品我也不懂,大概确凿是被主管批评癔症了。
看他桌子上多了小黄鸭,每次很想要一个。
今天终于他自己给了我一个。
比程序猿鼓励师更能降低bug的,是鸭子?
然后旁边的研发妹子就说到参照于一个来自《程序员修炼之道》书中的一个故事。
传说中程序大师随身携带一只小黄鸭,在调试代码的时候会在桌上放上这只小黄鸭,然后详细地向鸭子解释每行代码 。
许多程序员都有过向别人(甚至可能向完全不会编程的人)提问及解释编程问题,就在解释的过程中击中了问题的解决方案。
一边阐述代码的意图一边观察它实际上的意图并做调试,这两者之间的任何不协调会变得很明显,并且更容易发现自己的错误。
如果没有玩具小鸭子也可以考虑向其它东西倾诉,比如桌上的花花草草,键盘鼠标、程序员鼓励师等
比程序猿鼓励师更能降低bug的,是鸭子?
小黄鸭调试法原理
其实很多程序员,包括很多其他的脑力劳动者,都有过类似的经历。
当我们遇到一个Bug或疑难问题被卡住,迟迟没有解决思路,最后都要脑袋炸掉的时候,有的人就放弃不搞了,然后就摔门出去逛大街了,或者有时随便拉个人过来,和他 blablabla 讲一通。
很多时候我们给别人讲着讲着,就有可能突然灵光一闪,一下子就找到了解决办法。
这其实背后隐藏的原理也很简单,就是通过做另一件事情来打乱现在无法走出的困境,从而走出原有的思维陷阱,抽身而出。
而这个时候,我们其实并不一定要和一个真正的人进行倾诉,还可以向其他某种物品进行倾诉。

 

强迫自己把遇到的问题,详细地解释出来(一定要说出来),在你讲解倾诉的过程中,解决问题的灵感可能就来了。
类似的,有一种现象叫做cone of answers,这是一个常见的现象。
你的朋友跑来问你一个问题,但是当他自己把问题说完,或者说到一半的时候就想出了答案走了,留下一脸茫然的你。
是的,这个时候你就起到了那只小黄鸭的作用。
相似的概念还有不少,例如自白调试、纸板程序员或程序员的假人、想出脑外等等。
总的来说,在你试图表述自己的想法的过程中,自然地在促使自己去整理思路,重新考虑问题。
在教育行业里叫“教学相长”,在自学领域里叫“费曼学习法”。

比程序猿鼓励师更能降低bug的,是鸭子?

原因是纯思维是不可靠的(左脑的解释功能太强大,没逻辑也可能被解释成有逻辑)。
可靠性排序:梦中的思维<清醒的时候个人思维<个人用语音表达出来<个人能实践出来<多人能实践出来
语言相对思维来说就可靠很多。
说的时候,大脑就会对自己的话进行思考判断。很容易发现逻辑漏洞。
当然,也会存在“睁眼说瞎话”的情况。所以还是需要实践来验证。
但是如果这个逻辑错误太隐蔽,自己的实践都可能欺骗自己(太想成功,先入为主的太严重)。
所以科学家需要把自己的实验方案发表出来,让别人复现,来再次验证自己的想法。
小黄鸭调试步骤同样适合产品经理
小黄鸭调试步骤同样适合产品经理,那这个“小黄鸭调试法”具体该怎么用呢?
 
其实很简单,步骤如下:
  • 首先找一只玩偶鸭子或其他任何东西或人,至于你怎么找到,办法有很多,可以去借、去偷、去抢、去买、去自己制作……反正你要搞到一个鸭子;
  • 比程序猿鼓励师更能降低bug的,是鸭子?

  •  

  • 然后把这个玩偶鸭子放在你的面前,标准做法是放在你的桌子上,电脑显示器旁边,或是键盘边,反正是你的跟前,面朝着你;
  • 然后,找到你代码中解决不了的bug;
  • 对着那只鸭子,把你产生bug的代码,一行一行地,耐心地向这只鸭子解释。记住,这是解释,你需要认真地出你的想法、思路、步骤等;
  • 当你向这只始终保持沉默的鸭子解释代码的过程中,你会发现你的想法、观点、或思路,可能和实际的代码发生了偏离,于是你就可能突然就找到了代码中bug产生的原因了,从而想出解决办法;
  • 最后,你还要脸皮厚一点,对同事投来的看精神病人的目光直接选择无视即可。
只要你按照壹哥上面说的步骤去做,神功即可大成!切记切记!!!

比程序猿鼓励师更能降低bug的,是鸭子?

 

标签

微信扫一扫,分享到朋友圈

微信公众号

相关推荐