对一个外行人来讲,我们只知道嘲笑人家程序员:脱发,秃头。但是脱发秃头现在已经不仅仅是程序员哥哥要面对的问题了,很多妙龄少女她也脱发也发际线堪忧啊!

其实本期内容最主要还是要围绕着程序员大大来说的。秃头不是他们的错,是工作太辛苦的锅。程序员工作中最最困难的也不是背代码写代码,而是debug!!!

换句话说就是,写完的程序不能像想象中那样完美的运行的时候,可(yi)能(ding)存在bug,然后寻找程序中的错误,这个操作称为debug。

许多程序员都有过这样的经历:花了一下午或一整天的时间,在试图解决某个Bug,但问题似乎很复杂,总是没有思路。

拉个人过来(甚至可能完全不会编程的人),和他blablabla讲了一通,很多时候中途就自己找到了解决办法。

其实呢,这种方法,有一个术语:

小黄鸭调试法(RubberDuck Debugging)

此概念是参照于一个来自《程序员修炼之道》书中的一个故事。传说中程序大师随身携带一只小黄鸭,在调试代码的时候会在桌上放上这只小黄鸭,然后详细地向鸭子解释每行代码。许多程序员都有过向别人(甚至可能向完全不会编程的人)提问及解释编程问题,就在解释的过程中击中了问题的解决方案。一边阐述代码的意图一边观察它实际上的意图并做调试,这两者之间的任何不协调会变得很明显,并且更容易发现自己的错误。如果没有玩具小鸭子也可以考虑向其它东西倾诉,比如桌上的花花草草,键盘鼠标。

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

可能有一部分人,觉得这个小黄鸭调试法有点无聊,其实不是这样的,有相当一部分程序员都有这样的体会,对每一行代码进行自我解释很有利于问题的发现,这绝对不是一个毫无用处的调试方法。

进行了如此深入的了解后,我突然明白了为什么隔壁工位的程序员突然带了一只绿色小恐龙来单位,那就是他的“小黄鸭”???

查看原文 >>
相关文章