黃色小鴨除錯法及其他
StackExchange Rubber Duck Avatar April Fools 20 |
(Rubber Duck Debugging)是可在軟體工程中使用的一種偵錯代碼的方法。方法就是在程式的偵錯、除錯或測試過程中,操作人耐心地向小黃鴨解釋每一行程式的作用,以此來激發靈感與發現矛盾。 此概念是參照於一個故事。故事中程式大師隨身攜帶一隻小黃鴨,在偵錯代碼的時候會在桌上放上這隻小黃鴨,然後詳細地向鴨子解釋每行代碼。乍看之下有點荒謬,但實際上類似的概念很實用也很常出現。 有一個腳踏車實驗,可能你也聽過,因為這本書「知識的假象:為什麼我們從未獨立思考?」的關係:
很多人都覺得他們了解腳踏車的原理,但是在一項知名的心理學研究中,自信滿滿的受試者有四○%無法正確畫出腳踏車的構造,有些人甚至會用鏈條把前後輪都連在一起,這樣的腳踏車要怎麼騎啊?這種症狀可以被稱為是知識的幻覺。也不只是腳踏車,我們常常會高估自己對事物的了解程度。
但同一本書上也提到了,在實驗中,只要先請受試者解釋一下事物原理(沒有人批改),再請他評估自己理解的程度。則這種自我感覺良好的情形就會得到改善。
不是所有人都有這種「知識幻覺」的症狀,很多人其實讀了那本書,可能會覺得莫名其妙。覺得「我本來就能正確評估我對抽水馬桶和汽車運行原理的了解程度啊」。的確很多人是這樣的,靠理解思考的人。但根據書上所說的,有更多人是另外一種,偏向靠感覺的人,所以會分不清「常見」和「理解」,兩種都能被稱為「熟悉」。
這在某種程度上面解釋了黃色小鴨除錯法的原理,執行解釋這個動作,可以讓我們進入另外一種心理狀態。而這種狀態,能讓我們破除一些主觀的盲點。
同樣的原理也會發生在閱讀自己的文章以及閱讀別人文章的差別。很多人閱讀自己寫的文章時,無法發現錯誤、錯字。所以會需要其他人幫忙校稿。因為對於自己的文章太過熟悉了。但是閱讀別人文章時,頭腦內部會有一個「讀懂」也就是解釋的步驟,所以是不同的心理狀態。
更類似而常見的,是宗教上的禱告祈願告解。當你對著神像解釋著你的人生難題時,就是在執行黃色小鴨除錯法。
從更大一點框架來看,這也可以看成是一種目的外部性的方式,將觀點轉移到小鴨、神明或不特定對象為理解主體,來述說整個故事。