大家好,欢迎来到 Crossin的编程教室 !
在程序员界流传着一个神秘debug方法,叫做“小黄鸭调试法”(Rubber DuckDebugging)。
没错,就是这个小黄鸭。
什么意思?就是说,当你被一段代码整不会了,怎么看也看不出问题出在哪里的时候。你可以对着一只小黄鸭,一行一行解释你的代码。不仅解释代码的功能,你最好还要告诉鸭子你到底想实现什么目标,以及你打算通过什么样的方法实现,为什么要这么实现等等。当你说着说着说着,哎,突然你就明白问题在哪了。就是这么的神奇。
这可不是我瞎掰的,这个方法已经得到了大量程序员亲身实践的验证。
为什么会有这种神奇的效果?
从原理上来说,这大概是因为:当我们被程序中的bug卡住的时候,如果继续沿着原有的思路去寻找答案,一时很容易陷入到自我的思维误区之中而无法察觉。但当你不得不向另外一个人或者物体去解释你的代码时,就不得不重新整理思路、转换角度,更加全面地审视代码,从而看到一些不一样的细节。
而且这招还不仅仅是对编程有用,其他问题也一样有效。你有没有这样的经历,有人跑过来找你问个问题,然后他开始吧啦吧啦讲他的问题,讲到一半突然:“哎呀,我明白了!”然后留下一脸懵逼的你在原地。这个时候,其实你就已经在不知情的情况下,当了一次小黄鸭。
所以,下次你写代码遇到bug的时候,也可以来试试看这个小黄鸭调试法。