小黄鸭调试法

小黄鸭调试法(又称橡皮鸭调试法,黄鸭除虫法)是软件工程中使用的调试代码方法之一。此概念是参照于一个来自《程序员修炼之道》书中的一个故事。传说中程序大师随身携带一只小黄鸭,在调试代码的时候会在桌上放上这只小黄鸭,然后详细地向鸭子解释每行代码。

  许多程序员都有过向别人(甚至可能向完全不会编程的人)提问及解释编程问题,就在解释的过程中击中了问题的解决方案。一边阐述代码的意图一边观察它实际上的意图并做调试,这两者之间的任何不协调会变得很明显,并且更容易发现自己的错误。如果没有玩具小鸭子也可以考虑向其它东西倾诉,比如桌上的花花草草,键盘鼠标。

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

  相似的概念还有不少,列如自白调试、纸板程序员或程序员的假人、想出脑外等等。总的来说,在你试图表述自己的想法的过程中,自然地在促使自己去整理思路,重新考虑问题。

时间: 2024-11-07 13:22:58

小黄鸭调试法的相关文章

制作一个小黄鸭转圈跳舞的页面。

我们来制作一个小黄鸭转圈跳舞的页面. 分析一下 1.分析一下这个页面,要完成这些效果,一共需要3步: 把鸭子都放到一个盒子当中 在盒子里,把每个鸭子的位置摆好 让盒子旋转 2.让鸭子在盒子中的位置摆好,需要怎么做: 先让鸭子站在圆心的位置(需要先了解父相子绝定位方式) 沿一个方向移动一个半径的距离(3d) 每个鸭子旋转一个角度,让鸭子均匀的分布一圈 开始写代码 要用到的知识包括几个HTML标签和一部分的css知识. 先把图片放到页面里边. 先来在页面中添加一个img标签,将小黄鸭跳舞的gif图放

# UOJ Round48:Goodbye Wuxu C. 新年的小黄鸭

35 pts: 设\(f[i][j]\)表示在\(i\)节点,当前重链顶端到当前点距离为\(j\)的最优方案. 复杂度是\(O(n^2)\) 100 pts: 自己的理解可能跟题解有点偏差. 考虑dp的一个\(f[i][j]\) 一定会转移到0之后才对非\(j-1\)的位置造成贡献. 我们转换一下,即每个位置所在的重链一定会通向叶子节点. 考虑我们能不能直接通过数据结构找出那个叶子节点.考虑这一条链,我们将这一条链每个点的权值设置为这个点的父亲的其他儿子到达这条链时的\(f\),选这条链得到的答

Cyberduck 小黄鸭 跨平台的 FTP 软件

简介 1.Cyberduck是一款带图形界面的FTP客户端软件,目前有windows版和mac版. 2.支持文件下载,上传,删除等操作 3.官网地址:https://cyberduck.io/ 用途 对于记不住命令的小伙伴,你们的福音来了.使用该软件,完全图形化的操作,可以满足大部分需求.再也不用担心记不住命令了.像windows系统,资源管理器本身就完美支持ftp,用该软件很多余,该软件主要用于mac.很多其他的同类型软件,在mac上是收费的,这款软件完全免费,而且可以在github找到源码,

橡皮鸭程序调试法

摘自:http://coolshell.cn/ 让我来为你介绍一个程序调试大法——“橡皮鸭程序调试法”,这个方法在调试界是很出众的,实施起来相当方便和简易,几乎可以随时随地地实验,几乎不需要借助任何的软件和硬件的支持,你甚至可以把你的程序打印出来,在纸面上进行调试. 那么,为什么这个方法要叫做橡皮鸭呢?因为橡皮鸭子是西方人在泡澡时最喜欢玩的一个小玩具,所以,这个东西应该家家户户都必备的.因为,这个方法由西方人发明,所以,就被取名为“橡皮鸭”了. 好了,话不多说,下面是整个调试方法的流程. 找一个

【推荐】纯CSS3画出小黄人并实现动画效果

前言 前两天我刚发布了一篇CSS3实现小黄人动画的博客,但是实现的CSS3动画是基于我在站酷网找到的一张小黄人的jpg格式图片,并自己用PS抠出需要实现动画的部分,最后才完成的动画效果.但是,其实我的初衷是想体验一下用图片做动画的赶脚,但是找不到素材,才无奈用了最笨的方法来满足自己的需求,本想勉强能看就行了.可是呢,还是抵不住自己内心的完美,于是乎,用了一个晚上用CSS3画出了小黄人再实现类似的动画效果. 正题 OK,大家看一下下面两张图有什么不同: 当然,很多人会说,明显大小不同,嘴巴,头发也

纯CSS3画出小黄人并实现动画效果

原文出处: 郭锦荣 前言 前两天我刚发布了一篇CSS3实现小黄人动画的博客,但是实现的CSS3动画是基于我在站酷网找到的一张小黄人的jpg格式图片,并自己用PS抠出需要实现动画的部分,最后才完成的动画效果.但是,其实我的初衷是想体验一下用图片做动画的赶脚,但是找不到素材,才无奈用了最笨的方法来满足自己的需求,本想勉强能看就行了.可是呢,还是抵不住自己内心的完美,于是乎,用了一个晚上用CSS3画出了小黄人再实现类似的动画效果. 正题 OK,大家看一下下面两张图有什么不同: 当然,很多人会说,明显大

微信小程序相关三、css写小黄人

小程序上课第三天,因为今天院里有活动,所以没去上课,第四天上午又因为要召开入党转正大会,又耽误了一上午,下午去上课,要了资料.这两天讲了一些零零碎碎的东西,做的实例有上面这个小黄人 都是用的css,基本上都是用border,transform:rotate(),animation,和一些细节做的,左边的对话框那里的小尖头也是一个重点细节 下面附上代码: 1 <!DOCTYPE html> 2 <html> 3 <head> 4 <meta charset=&quo

Quartz2D练习 -- 小黄人

Main.storyboard <?xml version="1.0" encoding="UTF-8" standalone="no"?> <document type="com.apple.InterfaceBuilder3.CocoaTouch.Storyboard.XIB" version="3.0" toolsVersion="5053" systemVers

成唯一正式进入美国市场单车企业:ofo小黄车凭何出海?

共享单车在中国市场已经走过了数年光阴,在这场蓬勃发展的共享经济浪潮中,不同品牌的共享单车各使神通.竞相竞技. 然而在短短数年时间的市场洗礼中,不同品牌的共享单车也迎来了结局各异的局面,一些本着风口逐利的品牌已经烟消云散,而一些自始至终坚持服务.技术与创新的共享单车品牌,却得到了市场的青睐并成为这场浪潮的决胜者.在这场更迭的浪潮中,ofo小黄车以及一些其他共享单车品牌,是这股浪潮的引领者与推动者. 而日前有报道称ofo小黄车已获西雅图共享单车运营许可.成为唯一一家正式进入美国市场的中国共享单车企业