神奇的「小黄鸭调试法」

简介: 什么意思?就是说,当你被一段代码整不会了,怎么看也看不出问题出在哪里的时候。你可以对着一只小黄鸭,一行一行解释你的代码。不仅解释代码的功能,你最好还要告诉鸭子你到底想实现什么目标,以及你打算通过什么样的方法实现,为什么要这么实现等等。当你说着说着说着,哎,突然你就明白问题在哪了。就是这么的神奇。

大家好,欢迎来到 Crossin的编程教室 !


在程序员界流传着一个神秘debug方法,叫做“小黄鸭调试法”(Rubber DuckDebugging)。



没错,就是这个小黄鸭。


什么意思?就是说,当你被一段代码整不会了,怎么看也看不出问题出在哪里的时候。你可以对着一只小黄鸭,一行一行解释你的代码。不仅解释代码的功能,你最好还要告诉鸭子你到底想实现什么目标,以及你打算通过什么样的方法实现,为什么要这么实现等等。当你说着说着说着,哎,突然你就明白问题在哪了。就是这么的神奇。


这可不是我瞎掰的,这个方法已经得到了大量程序员亲身实践的验证。


为什么会有这种神奇的效果?


从原理上来说,这大概是因为:当我们被程序中的bug卡住的时候,如果继续沿着原有的思路去寻找答案,一时很容易陷入到自我的思维误区之中而无法察觉。但当你不得不向另外一个人或者物体去解释你的代码时,就不得不重新整理思路、换角度,更加全面地审视代码,从而看到一些不一样的细节。


而且这招还不仅仅是对编程有用,其他问题也一样有效。你有没有这样的经历,有人跑过来找你问个问题,然后他开始吧啦吧啦讲他的问题,讲到一半突然:“哎呀,我明白了!”然后留下一脸懵逼的你在原地。这个时候,其实你就已经在不知情的情况下,当了一次小黄鸭。


所以,下次你写代码遇到bug的时候,也可以来试试看这个小黄鸭调试法。

相关文章
|
6月前
|
Web App开发 JavaScript 前端开发
chrome调试秘籍,让你的开发速度飞起来
chrome调试秘籍,让你的开发速度飞起来
|
Arthas 测试技术 开发者
如果你也会这样调试,那真是泰酷辣
学会如何利用 IDEA 高效 debug ,将会大大提升我们的工作效率,希望本文会给你一些参考。
933 36
|
Windows
一招解决教希沃白板登录麻烦的困扰!
如果你们教室里面也是用的希沃白板,相信用上几次,你就会爱上这个教学神器。
4297 0
|
程序员 C语言 C++
电视剧里的代码真能运行吗?
虽然剧中说是“C语言期中考试”,但这位同学的代码名叫 draw2.py,一个典型的 Python 文件,再结合截图中的 pen.forward、pen.setpos 等方法来看,应该是用 turtle 海龟作图库来画爱心。
【机房重构】VS2012 调试
【机房重构】VS2012 调试
72 0
找不到“妹”字在哪?一款游戏看把你愁的,用我这个代码逻辑,不再被游戏困扰!
找不到“妹”字在哪?一款游戏看把你愁的,用我这个代码逻辑,不再被游戏困扰!
170 0
找不到“妹”字在哪?一款游戏看把你愁的,用我这个代码逻辑,不再被游戏困扰!
|
Java
Java实现一个打飞机的小游戏
Java实现一个打飞机的小游戏,毕业设计,计算机毕业设计。Java实现一个打飞机的小游戏,毕业设计,计算机毕业设计。Java实现一个打飞机的小游戏,毕业设计,计算机毕业设计。Java实现一个打飞机的小游戏,毕业设计,计算机毕业设计。
169 0
Java实现一个打飞机的小游戏
|
程序员
“用了就停不下来”的代码插件
今天无意中扫到, 旁边的人写代码时, 屏幕非常炫酷, 就多看了几秒, 于是发现了一个很有意思的插件 activate-power-mode, 它的主要作用就是, 即使你只会写helloWorld, 也能让你体会一把, 狂拽酷炫的感觉! 插件github地址: https://github.
1272 0