美文网首页
当了一回小黄鸭

当了一回小黄鸭

作者: 如墨清晨 | 来源:发表于2020-09-17 22:42 被阅读0次

    几天前的一个上午,一朋友扔过来一段莫名其妙的代码,说是看不懂,问我是什么意思。

    我定睛一瞧,立刻头变三个大。快两年没碰的 Swift 难道已经天翻地覆了么?心中一万只澳洲神兽奔腾而过。耐着性子一行行读下去,和朋友有一句没一句地聊了下使用场景和上下文,模模糊糊有点感觉,正要找更多资料,朋友又扔过来定义在另一处的一团代码,曰:“找到了……看到这个才明白怎么是回事”。我扔了一个翻白眼的表情过去,朋友回复,“果然还是小黄鸭debug好用”。

    小黄鸭debug?听起来有点儿耳熟,却想不起是在哪儿见过。上(放)网(狗)搜了一波,终于找到了出处。这是来自《程序员修炼之道:从小工到专家》一种有效的调试方法:

    找到问题的原因的一种非常简单、却又特别有用的技术是向别人解释它。他应该越过你的肩膀看着屏幕,不断点头(像澡盆里上下晃动的橡皮鸭)。他们一个字也不需要说;你只是一步步解释代码要做什么,常常就能让问题从屏幕上跳出来,宣布自己的存在。

    为什么说“橡皮鸭”?在伦敦皇家学院学习时,Dave(作者之一)曾经和一位叫做 Greg Pugh 的研究助理一起做过大量工作,他是 Dave 认识的最好的开发者之一。有几个月 Greg 带着一只黄色的小鸭子,在编码时把它放在他的终端上,过了一阵子,Dave 才鼓起勇气问……

    小黄鸭调试法

    我:“……好嘛,知道了,我就是小黄鸭呗。”
    朋友:“找个人说说,自己就明白了。有反馈的小黄鸭更好了。”
    我:“……”

    不过,我的确也会在工作中常常遇到这样的场景:某个问题百思不得其解,向他人求助,答案却在向对方解释问题的过程中跳了出来。对方便充当了一回我的小黄鸭。问题的前因后果,预设规则,一旦讲出来,可能会突然获得对问题的新洞见。

    忽然想到另一种类似的场景:当我在向他人寻求对于某件事情的意见时,可能往往心中已经有意无意地有了一个偏好的选项。虽然名为 “向外询问”,实则是在潜意识中寻找这个选项的情感支持。曾被一个初中的朋友说,“你永远知道自己该做什么”。我承认这一点,只是好像有了外界的赞同,这个选择会更容易一些似的。虽然,我知道,即使外界不赞同,我也照样会选择那个自己偏好的选项。而中间的这个过程,只不过是让我在向他人阐述的过程中,更清晰地看到自己的想法和决定罢了。

    如此说来,别人也在无意间充当我的小黄鸭了。
    如此说来,我们都是小黄鸭,嘎嘎嘎!

    相关文章

      网友评论

          本文标题:当了一回小黄鸭

          本文链接:https://www.haomeiwen.com/subject/hftlyktx.html