橡皮鴨子解決問題法

Stack Exchange 上,我們一直強(qiáng)調(diào)裕寨,提交問題的人應(yīng)該在提問前多花點(diǎn)時間研究一下他們的問題,而且我們對此非常偏執(zhí)派继。就是說宾袜,當(dāng)你提交問題時,你應(yīng)該…

  • 描述問題要足夠詳細(xì)驾窟,以便我們能跟上你的思路庆猫。提供必要的背景信息,幫助我們理解發(fā)生了什么事情绅络,即使我們不是你所在領(lǐng)域的專家月培。
  • 告訴我們?yōu)槭裁茨阈枰肋@個問題的答案嘁字。是什么讓你找到這兒來尋找答案的?你提的問題是出于好奇心杉畜,還是在某個項目上遇到了阻礙纪蜒?我們不需要知道你全部的故事細(xì)節(jié),這樣做寻行,只是需要在這兒給我們一些上下文的提示霍掺。
  • 分享你在該問題上面所做的研究。迄今為止你發(fā)現(xiàn)了什么拌蜘?為什么它不能有效工作杆烁?如果你沒有做任何研究 ... 你應(yīng)該提交這個問題嗎?如果你邀請我們花費(fèi)寶貴的時間幫助你简卧,你應(yīng)該花同樣合理的寶貴時間設(shè)計一個像樣的問題兔魂,唯有這樣才是公平的。幫助我們也是幫助你自己举娩!

我們有一個非常好的如何提問頁面(How to Ask page)解釋了這些事宜析校。(并且在 Stack Overflow 上,由于問題太多铜涉,我們的確要求新用戶在提交他們的第一個問題之前去訪問那個頁面智玻。作為一個新用戶在提交第一個問題前,你自己就能看到這個頁面芙代。)

我們極力避免的吊奢,也是最最重要的,是那些無法回答的問題纹烹。這些問題對任何人都沒有幫助页滚,但是若任其發(fā)展卻可以毀掉一個問答網(wǎng)站,將其變成一個虛擬的鬼城铺呵。在 Stack Exchange 上裹驰,那些缺乏背景信息和上下文以至于不能被合理回答的問題,將被立即關(guān)閉片挂,然后如果情況不能得到改進(jìn)的話幻林,最終將被刪除。

正如我之前所說的音念,我們對此非常偏執(zhí)滋将。我們認(rèn)為,通過教授橡皮鴨子問題解決法(Rubber Duck problem solving)症昏,是一個明確地幫助你自助解決問題的好理由随闽。而且,這樣做一直以來都非常有效肝谭。在數(shù)年的時間里掘宪,我已經(jīng)從 Stack Overflow 或者 Stack Exchange 其它子站上得到了大量的反饋蛾扇,就是說,在以這樣的方式撰寫具體問題的過程中魏滚,最終他們想出了自己問題的答案镀首。

這種事已經(jīng)非常司空見慣了。不信的話你自己看:

當(dāng)我解決了自己的問題鼠次,我該如何感謝社區(qū)呢更哄?

迄今為止我只發(fā)布過一個問題,而且差點(diǎn)提交了另一個腥寇。這兩次經(jīng)歷成翩,最終都是在我撰寫問題的過程中,我至少部分地解答了自己要問的問題赦役。我之所以能夠想出答案麻敌,這要?dú)w功于社區(qū)以及描述問題的過程。當(dāng)我描述問題時掂摔,并沒有與答案有關(guān)的明確線索术羔,但當(dāng)問題寫完之后,卻讓我產(chǎn)生了考慮該問題的另一條思路乙漓。

為什么正確地描述你的問題往往會自助地產(chǎn)生答案呢级历?

我不知道這已經(jīng)發(fā)生多少次了:

  • 我有一個問題
  • 我決定把它放到 stackoverflow 上面
  • 我粗略地將問題寫下來
  • 我知道該問題描述的不好
  • 我又花費(fèi)了15分鐘時間重新思考該如何描述問題
  • 我意識到自己正在一個完全錯誤的方向上解決問題
  • 我再次從頭開始,并且迅速找到了問題的解決方案

上述這樣的事情是否也發(fā)生在你身上呢叭披?有時候鱼喉,提出正確的問題,似乎問題就已經(jīng)解決一半了趋观。

開始提交一個問題,實(shí)際上是在幫助我調(diào)試我自己的問題

開始提出一個問題锋边,實(shí)際上是在幫助我調(diào)試我自己的問題皱坛,尤其為了得到像模像樣的的答案時,我們總是會提供足夠詳細(xì)的與問題相關(guān)內(nèi)容豆巨。這樣的事情以前是否在別的人身上發(fā)生過剩辟?

這不是一個什么新東西,只要給予足夠的時間往扔,每一個互聯(lián)網(wǎng)社區(qū)似乎都能找到自己的解決問題方式贩猎,但是“向鴨子提問”的確是一個非常強(qiáng)大的解決問題的技巧和方法

鮑勃指著辦公室的角落萍膛,“在那兒”吭服,他說,“有一只鴨子蝗罗。我希望你向那只鴨子提出你的問題艇棕◎蚪洌”

我看著那只鴨子。事實(shí)上沼琉,它吃的很飽北苟,一動不動。即便它還能動打瘪,也不可能是一個有關(guān)設(shè)計信息的有效來源友鼻。我看著鮑勃。鮑勃看起來很認(rèn)真闺骚。當(dāng)然彩扔,他是我的上司,我不想失去這份工作葛碧。

我搖搖晃晃地向鴨子走了過去借杰,并且站在了它的旁邊。我開始低下頭和鴨子交流进泼,看起來有點(diǎn)像在祈禱蔗衡。“你乳绕,” 鮑勃問绞惦,“在干什么?”

鮑勃的一位上司正巧在他的辦公室洋措。他開心地大笑起來济蝉。

“安迪,”他說菠发,“我不是讓你向鴨子祈禱王滤,我是讓你向鴨子問問題∽茵” 我舔了舔我的嘴唇雁乡。“大聲嗎?” 我說糜俗。

“大聲踱稍,” 鮑勃堅定地說。

我清了清嗓子悠抹≈樵拢“鴨子,” 我要開始了楔敌。

“它的名字叫小鮑勃啤挎,” 鮑勃的那位上司補(bǔ)充了一句。我冷冷地瞥了他一眼卵凑。

“鴨子侵浸,” 我繼續(xù)說旺韭,“我想知道,當(dāng)你使用 U 形夾掛鉤掏觉,在管道頭部排水時区端,怎樣防止噴水管彈出 U 形夾,導(dǎo)致管…”

在我向鴨子問問題的過程中澳腹,我得到了問題的答案织盼。U 形夾掛鉤是懸掛在螺紋桿上面的。如果管道安裝工將螺紋桿鋸到一定長度酱塔,使其緊緊頂在噴水管頂部的話沥邻,實(shí)際上管子已經(jīng)被固定在掛鉤上了,這樣也就防止了管子的突然脫落羊娃。

我轉(zhuǎn)頭看向鮑勃唐全。鮑勃在點(diǎn)頭∪镧瑁“你知道答案了邮利,是這樣嗎?” 他說垃帅。

“應(yīng)該把螺紋桿緊緊頂在管子的頂部延届,” 我說。

“完全正確贸诚,” 鮑勃說方庭。“下次你再有問題酱固,我還讓你來這兒繼續(xù)問鴨子械念,而不是問我。大聲地問它运悲。如果你仍舊無法得到答案龄减,你再來問我∩劝”

“好的,” 我說寄纵,然后就回去繼續(xù)工作了鳖敷。

我很喜歡這個特殊的故事,因為它講解地十分清楚 - 解決橡皮鴨問題的關(guān)鍵部分是向這個虛構(gòu)的人物或靜物問一個深入且足夠詳盡的問題程拭。是的定踱,即使你最終沒能解決這個問題,起碼你可以意識到自己犯了一些愚蠢的錯誤恃鞋。向虛構(gòu)的人物問問題崖媚,要一步一步來亦歉,并且要盡量詳細(xì),這種嘗試經(jīng)常能讓你找到問題的答案畅哑。如果你不愿意花費(fèi)精力去完整地說明問題以及試圖解決該問題的過程肴楷,那么在你詢問其他人之前,你就不能得到深度思考你的問題所帶來的好處荠呐。

如果你在編程上缺少伙伴(但是你絕對應(yīng)該有)赛蔫,你可以利用橡皮鴨問題解決法這樣的技巧找出答案,當(dāng)然這全部要靠你自己泥张,或者利用偉大的互聯(lián)網(wǎng)在社區(qū)中尋求答案呵恢。即使你沒有得到你想要的答案,強(qiáng)制自己完整地描述自己的問題 - 最好以書面形式 - 往往就會產(chǎn)生新的認(rèn)識和發(fā)現(xiàn)媚创。


作者:Jeff Atwood渗钉,程序員,著名博主钞钙,Stack Overflow / Stack Exchange & Discourse 聯(lián)合創(chuàng)始人及發(fā)起者鳄橘。

原文: Rubber Duck Problem Solving

感謝: Jodoo 幫助審閱并完成校對。

P.S. 如果您喜歡這篇文章并且希望學(xué)習(xí)編程技術(shù)的話歇竟,請關(guān)注一下 復(fù)唧唧挥唠。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市焕议,隨后出現(xiàn)的幾起案子宝磨,更是在濱河造成了極大的恐慌,老刑警劉巖盅安,帶你破解...
    沈念sama閱讀 216,651評論 6 501
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件唤锉,死亡現(xiàn)場離奇詭異,居然都是意外死亡别瞭,警方通過查閱死者的電腦和手機(jī)窿祥,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,468評論 3 392
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來蝙寨,“玉大人晒衩,你說我怎么就攤上這事∏酵幔” “怎么了听系?”我有些...
    開封第一講書人閱讀 162,931評論 0 353
  • 文/不壞的土叔 我叫張陵,是天一觀的道長虹菲。 經(jīng)常有香客問我靠胜,道長,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,218評論 1 292
  • 正文 為了忘掉前任浪漠,我火速辦了婚禮陕习,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘址愿。我一直安慰自己该镣,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,234評論 6 388
  • 文/花漫 我一把揭開白布必盖。 她就那樣靜靜地躺著拌牲,像睡著了一般。 火紅的嫁衣襯著肌膚如雪歌粥。 梳的紋絲不亂的頭發(fā)上塌忽,一...
    開封第一講書人閱讀 51,198評論 1 299
  • 那天,我揣著相機(jī)與錄音失驶,去河邊找鬼土居。 笑死,一個胖子當(dāng)著我的面吹牛嬉探,可吹牛的內(nèi)容都是我干的擦耀。 我是一名探鬼主播,決...
    沈念sama閱讀 40,084評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼涩堤,長吁一口氣:“原來是場噩夢啊……” “哼眷蜓!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起胎围,我...
    開封第一講書人閱讀 38,926評論 0 274
  • 序言:老撾萬榮一對情侶失蹤吁系,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后白魂,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體汽纤,經(jīng)...
    沈念sama閱讀 45,341評論 1 311
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,563評論 2 333
  • 正文 我和宋清朗相戀三年福荸,在試婚紗的時候發(fā)現(xiàn)自己被綠了蕴坪。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 39,731評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡敬锐,死狀恐怖背传,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情台夺,我是刑警寧澤径玖,帶...
    沈念sama閱讀 35,430評論 5 343
  • 正文 年R本政府宣布,位于F島的核電站谒养,受9級特大地震影響挺狰,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜买窟,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,036評論 3 326
  • 文/蒙蒙 一丰泊、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧始绍,春花似錦瞳购、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,676評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至吞杭,卻和暖如春盏浇,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背芽狗。 一陣腳步聲響...
    開封第一講書人閱讀 32,829評論 1 269
  • 我被黑心中介騙來泰國打工绢掰, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人童擎。 一個月前我還...
    沈念sama閱讀 47,743評論 2 368
  • 正文 我出身青樓滴劲,卻偏偏與公主長得像,于是被迫代替她去往敵國和親顾复。 傳聞我的和親對象是個殘疾皇子班挖,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,629評論 2 354

推薦閱讀更多精彩內(nèi)容

  • Android 自定義View的各種姿勢1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 172,079評論 25 707
  • 親愛的果果: 又到了小區(qū)的紫藤花盛開的4月,聞著花香芯砸,我感到這個春天格外美好萧芙,我們努力學(xué)習(xí)新知識,交新朋友乙嘀,...
    熱帶毛毛蟲閱讀 238評論 1 3