身为程序员的你,有没有见到过下面的场景?
花了一下午(或一天)在试图解决某个Bug,但是似乎问题很复杂,总是没有思路。
有个同事正好路过,看到你愁眉苦脸的,问你“怎么了呀?”
“噢,是这样的。我遇到了一个问题,点击这个控件的时……” 当你正准备和同事详细解释的时候,突然灵光一现,你话都没说完,就中断了和同事的倾诉,继续干活了。
同事微微一笑,又走开了。他并没有怪你。
相信大家都有类似的经历。遇到 Bug/问题被卡住了,拉个人过来,和他 blablabla 讲了一通,很多时候中途你就找到了解决办法。
有时候,并不一定要和人倾诉,还可以像其他东西倾诉,强迫自己把遇到的问题,详细地解释出来(一定要说出来)。其实呢。这种方法,有一个术语: 小黄鸭调试法 (Rubber Duck Debugging)。
维基百科有解释:小黄鸭调试法是软件工程中使用的调试代码方法之一。就是在程序的调试、纠错或测试过程中,耐心地向小黄鸭解释每一行程序的作用,以此来激发灵感。
名称由来
此概念是参照于一个故事。故事中程序大师随身携带一只小黄鸭,在调试代码的时候会在桌上放上这只小黄鸭,然后详细地向鸭子解释每行代码。(引自维基百科)
有的朋友问我,什么样的小黄鸭呢?
好吧。如果你有孩子,有一位女儿或是儿子,你一定知道那是什么样的。什么,你是单身狗。好吧,给你上个图!
话说,只有小黄鸭么?小狗熊可以不,甚至小狮子可以不?可以可以!只要你开心,就都可以。那么问题来了,你喜欢用什么?
我是IT老司机米洛,十年软件开发工程师,觉得文章有用,请点转载,赠人玫瑰,手有余香。

调试进行不下去,你需要的只是你女儿的一个小玩具相关推荐

  1. 小程序跳转到另一个小程序,参数传递以及调试,H5跳转小程序,小程序内嵌H5,

    业务场景:企业A的小程序内嵌了企业B的H5 问题:企业A内嵌企业B的H5发起微信支付的时候,绕不过微信的限制.总是支付失败. 问题解决思路:企业B新建一个小程序,让企业A调用企业B的小程序, B内嵌H ...

  2. 魅蓝note2真机调试遇到的一个小问题

    魅蓝note2真机调试遇到的一个小问题 我用的eclipse进行android开发学习,模拟器速度慢,浪费时间,而且不稳定,容易出问题,所以转为真机调试.初次尝试,logcat内出现错误提醒,内容如下 ...

  3. 无法启动调试。未安装Sliverlight Developer运行时。请安装一个匹配版本。

    无法启动调试.未安装Sliverlight Developer运行时.请安装一个匹配版本. 有两种方法: 1.不调试,直接运行的烂方法: 对着SilverlightApplicationXXX.Web ...

  4. 关于一个小bai调试了3小时不停在找错最终使程序跑起来的悲惨故事。。。

    最终结论就是:我真的太太太不专心了,平时敲代码随心所欲,然后调试就各种bug不断.... 诺,代码就这么简单: #include<stdio.h> #include <string. ...

  5. SAP UI5 应用的调试标志位的本地存储逻辑 - local storage 使用的一个例子

    We know that once we enable debug mode via "Ctrl+Alt+Shift+P", this setting will be persis ...

  6. 一个小插曲-->调试PID的工具

    最近一直在找一个方便调PID的工具,现在大概发现了两个工具,我在这里给大家献上 1.matble 效果就是这样子 代码参考: 这个推文. 但是我觉得这份代码不算特别好,因为根本退出不了哈哈哈,只要运行 ...

  7. eclipse 鲜为人知的调试技巧,你用过多少

    今天在OSChina上看到了篇调试技巧,的确对于调试非常有帮助,并且大部分我们都没有用过,我们经常使用的调试是F5678四个键,如果你还想提高调试效率你可以尝试着用一用,写过代码做过项目的人都知道调试 ...

  8. 橡皮鸭程序调试法[转] 相当有趣^_^

    橡皮鸭程序调试法 http://coolshell.cn/?p=1719 2009年11月10日 1,218 次点击 阅读评论 发表评论 下面,让我来为你介绍一个程序调试大法--"橡皮鸭程序 ...

  9. 我偶尔会用到的调试方法 | Linux 内核

    文章转自我朋友的公众号,以下为内容正文 ==== 大家好,我是你们的工具人老吴. 今天,和大家分享一下几个 Linux 内核的调试小技巧. 当你遇到一个 bug,你调试了 1 年半载都解决不了,这其实 ...

最新文章

  1. java检索字符串并提取_eclipse 项目中搜索资源(类方法,文件名,文件中的字符串)...
  2. Evernote相关技术介绍——mysql+lucene+tomcat
  3. 【Redis6快速深入学习01】NoSQL数据库简介
  4. VScode设置中文
  5. 产品经理必须要了解的经济学原理--“口红效应”
  6. [SpringBoot2]原生组件注入_原生注解与Spring方式注入
  7. redis value最大值_Redis从入门到深入-String的value
  8. 雅迪发布高端智能电动车G5 这个售价真的会有人买吗?
  9. 【TensorFlow-windows】(四) CNN(卷积神经网络)进行手写数字识别(mnist)
  10. 【递归】剑指offer——面试题19:二叉树的镜像
  11. pytorch 实现半圆数据分类
  12. uartz Spring与Spring Task总结
  13. PHP面向对象笔记(兄弟连)
  14. kb2999226此更新不适用你的计算机,Windows Server 2012 R2 安装补丁KB2999226提示此更新不适合用于计算机...
  15. 华为Mate系列平板手机安装谷歌框架
  16. Mysql—— order 和 limit 的用法
  17. 随机过程(三):马尔可夫过程、马尔可夫链、转移概率、转移概率矩阵、平稳性、齐次性、时齐性、一步转移概率、一步转移概率矩阵、C-K方程、n步转移概率、n步转移概率矩阵、遍历性、极限分布、平稳分布
  18. 计算机班学生勇夺比赛第一名,北科大新闻网
  19. react 学习之Protal
  20. VSCode 使用 minify 手动压缩JS, CSS, HTML

热门文章

  1. mysql不同版本乱码_技术|解决MySQL中文乱码以及版本不一致问题
  2. 慕课网--工程伦理第九讲参考答案
  3. JavaScript 数字转汉字大写 (JS金额大写)
  4. 如何训练计算机二级,如何训练自己的意志力。
  5. 微信公众号一、接入微信并实现机器人自动回复功能
  6. 《精益数据分析》——读书笔记
  7. OSG之节点写入文件(.ive)
  8. java方法入栈和出栈
  9. 郑州分销小程序开发如何分销裂变?
  10. PHP极其强大的图片处理库Grafika详细教程(2):图像特效处理模块