橡皮鸭子解决问题法

Stack Exchange 上,我们一直强调,提交问题的人应该在提问前多花点时间研究一下他们的问题,而且我们对此非常偏执。就是说,当你提交问题时,你应该…

  • 描述问题要足够详细,以便我们能跟上你的思路。提供必要的背景信息,帮助我们理解发生了什么事情,即使我们不是你所在领域的专家。
  • 告诉我们为什么你需要知道这个问题的答案。是什么让你找到这儿来寻找答案的?你提的问题是出于好奇心,还是在某个项目上遇到了阻碍?我们不需要知道你全部的故事细节,这样做,只是需要在这儿给我们一些上下文的提示。
  • 分享你在该问题上面所做的研究。迄今为止你发现了什么?为什么它不能有效工作?如果你没有做任何研究 ... 你应该提交这个问题吗?如果你邀请我们花费宝贵的时间帮助你,你应该花同样合理的宝贵时间设计一个像样的问题,唯有这样才是公平的。帮助我们也是帮助你自己!

我们有一个非常好的如何提问页面(How to Ask page)解释了这些事宜。(并且在 Stack Overflow 上,由于问题太多,我们的确要求新用户在提交他们的第一个问题之前去访问那个页面。作为一个新用户在提交第一个问题前,你自己就能看到这个页面。)

我们极力避免的,也是最最重要的,是那些无法回答的问题。这些问题对任何人都没有帮助,但是若任其发展却可以毁掉一个问答网站,将其变成一个虚拟的鬼城。在 Stack Exchange 上,那些缺乏背景信息和上下文以至于不能被合理回答的问题,将被立即关闭,然后如果情况不能得到改进的话,最终将被删除。

正如我之前所说的,我们对此非常偏执。我们认为,通过教授橡皮鸭子问题解决法(Rubber Duck problem solving),是一个明确地帮助你自助解决问题的好理由。而且,这样做一直以来都非常有效。在数年的时间里,我已经从 Stack Overflow 或者 Stack Exchange 其它子站上得到了大量的反馈,就是说,在以这样的方式撰写具体问题的过程中,最终他们想出了自己问题的答案。

这种事已经非常司空见惯了。不信的话你自己看:

当我解决了自己的问题,我该如何感谢社区呢?

迄今为止我只发布过一个问题,而且差点提交了另一个。这两次经历,最终都是在我撰写问题的过程中,我至少部分地解答了自己要问的问题。我之所以能够想出答案,这要归功于社区以及描述问题的过程。当我描述问题时,并没有与答案有关的明确线索,但当问题写完之后,却让我产生了考虑该问题的另一条思路。

为什么正确地描述你的问题往往会自助地产生答案呢?

我不知道这已经发生多少次了:

  • 我有一个问题
  • 我决定把它放到 stackoverflow 上面
  • 我粗略地将问题写下来
  • 我知道该问题描述的不好
  • 我又花费了15分钟时间重新思考该如何描述问题
  • 我意识到自己正在一个完全错误的方向上解决问题
  • 我再次从头开始,并且迅速找到了问题的解决方案

上述这样的事情是否也发生在你身上呢?有时候,提出正确的问题,似乎问题就已经解决一半了。

开始提交一个问题,实际上是在帮助我调试我自己的问题

开始提出一个问题,实际上是在帮助我调试我自己的问题,尤其为了得到像模像样的的答案时,我们总是会提供足够详细的与问题相关内容。这样的事情以前是否在别的人身上发生过?

这不是一个什么新东西,只要给予足够的时间,每一个互联网社区似乎都能找到自己的解决问题方式,但是“向鸭子提问”的确是一个非常强大的解决问题的技巧和方法

鲍勃指着办公室的角落,“在那儿”,他说,“有一只鸭子。我希望你向那只鸭子提出你的问题。”

我看着那只鸭子。事实上,它吃的很饱,一动不动。即便它还能动,也不可能是一个有关设计信息的有效来源。我看着鲍勃。鲍勃看起来很认真。当然,他是我的上司,我不想失去这份工作。

我摇摇晃晃地向鸭子走了过去,并且站在了它的旁边。我开始低下头和鸭子交流,看起来有点像在祈祷。“你,” 鲍勃问,“在干什么?”

鲍勃的一位上司正巧在他的办公室。他开心地大笑起来。

“安迪,”他说,“我不是让你向鸭子祈祷,我是让你向鸭子问问题。” 我舔了舔我的嘴唇。“大声吗?” 我说。

“大声,” 鲍勃坚定地说。

我清了清嗓子。“鸭子,” 我要开始了。

“它的名字叫小鲍勃,” 鲍勃的那位上司补充了一句。我冷冷地瞥了他一眼。

“鸭子,” 我继续说,“我想知道,当你使用 U 形夹挂钩,在管道头部排水时,怎样防止喷水管弹出 U 形夹,导致管…”

在我向鸭子问问题的过程中,我得到了问题的答案。U 形夹挂钩是悬挂在螺纹杆上面的。如果管道安装工将螺纹杆锯到一定长度,使其紧紧顶在喷水管顶部的话,实际上管子已经被固定在挂钩上了,这样也就防止了管子的突然脱落。

我转头看向鲍勃。鲍勃在点头。“你知道答案了,是这样吗?” 他说。

“应该把螺纹杆紧紧顶在管子的顶部,” 我说。

“完全正确,” 鲍勃说。“下次你再有问题,我还让你来这儿继续问鸭子,而不是问我。大声地问它。如果你仍旧无法得到答案,你再来问我。”

“好的,” 我说,然后就回去继续工作了。

我很喜欢这个特殊的故事,因为它讲解地十分清楚 - 解决橡皮鸭问题的关键部分是向这个虚构的人物或静物问一个深入且足够详尽的问题。是的,即使你最终没能解决这个问题,起码你可以意识到自己犯了一些愚蠢的错误。向虚构的人物问问题,要一步一步来,并且要尽量详细,这种尝试经常能让你找到问题的答案。如果你不愿意花费精力去完整地说明问题以及试图解决该问题的过程,那么在你询问其他人之前,你就不能得到深度思考你的问题所带来的好处。

如果你在编程上缺少伙伴(但是你绝对应该有),你可以利用橡皮鸭问题解决法这样的技巧找出答案,当然这全部要靠你自己,或者利用伟大的互联网在社区中寻求答案。即使你没有得到你想要的答案,强制自己完整地描述自己的问题 - 最好以书面形式 - 往往就会产生新的认识和发现。


作者:Jeff Atwood,程序员,著名博主Stack Overflow / Stack Exchange & Discourse 联合创始人及发起者。

原文: Rubber Duck Problem Solving

感谢: Jodoo 帮助审阅并完成校对。

P.S. 如果您喜欢这篇文章并且希望学习编程技术的话,请关注一下 复唧唧

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 199,711评论 5 468
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 83,932评论 2 376
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 146,770评论 0 330
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 53,799评论 1 271
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 62,697评论 5 359
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,069评论 1 276
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,535评论 3 390
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,200评论 0 254
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,353评论 1 294
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,290评论 2 317
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,331评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,020评论 3 315
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,610评论 3 303
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,694评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 30,927评论 1 255
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 42,330评论 2 346
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 41,904评论 2 341

推荐阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 171,263评论 25 707
  • 亲爱的果果: 又到了小区的紫藤花盛开的4月,闻着花香,我感到这个春天格外美好,我们努力学习新知识,交新朋友,...
    热带毛毛虫阅读 231评论 1 3