小黃鴨除錯法 Rubber Duck Debugging

林子揚 Paul Lin
Sep 6, 2018 · 3 min read
“yellow rubber ducks” by JOSHUA COLEMAN on Unsplash

當我們這些非專業程序設計員,第一次聽這個「小黃鴨除錯法」怎樣運作,真是 bear 了一聲!

根據維基百科:小黃鴨除錯法是程式設計員使用的除錯方法之一。就是在程式 debug 過程中,耐心地向小黃鴨(通常放在 monitor 前)解釋每一行程式的作用,以此來激發靈感。根據經驗,當你細心解釋時,很多時就會自己找到錯誤的位置,跟著就會說聲:「多謝小黃鴨!」

整個概念的核心是,人類思維和電腦程式言語有根本的不同,有時只是打漏了一個符號就可以令到整個程式不能運作,相反,人類的思維常常處於一個非常灰色的地帶,最愛做一些不精準的比較及論述等等。

例子:「個天好似好黑,你記住一陣出門口帶傘,今次落既雨可能比前幾天大。」

個天好黑,即係幾黑?黑即是會落雨?出門口,可能只是倒垃圾?前幾天即是幾時?等等…

不過,「不需太精準」是人類溝通的必然模式,若我們說每一句說話也像電腦程式言語一樣精準,人類一早已經滅亡了!

指紋解讀

思維速度 > 聽說話速度 > 講說話速度

在指紋學上,右手二手指 R2 代表邏輯思維區,而右手四手指 R4 代表言語區。若你發現自己 R4 的紋數,相對低分過 R2,代表你把事情想得通後,但是用說話解釋就會比較吃力,詞不達意就是這樣。相反,若你發現自己 R4 的紋數,相對高分過 R2,即是你會傾向想「講」多過想「思考」,所以口快過腦可能就是這個情況。當然,這裡只是特意 pin point 這兩個區,其他區的影響這裡暫時不談。

「小黃鴨除錯法」:R4 幫助 R2 及 R5

「小黃鴨除錯法」的原理,就是用說話拖慢自己的思維,慢慢看(程式碼),慢慢想,慢慢講,令程式員慢慢幫自己 go through 程式邏輯及輸入校對。啊,忘了說,右手五手指 R5 代表文字符號區。

現實生活中,常常把概念或問題困在腦中,當沒有出路時,倒不如用此方法,和公仔,和寵物,和朋友傾下計,用心把自己的思維細心解釋給他聽,靈感和生機很快會出現!

Possability.Me

Stay different, be golden

林子揚 Paul Lin

Written by

Golden Profiling 指紋性格分析創始人、Possability.me 創辦人、註冊企業教練 (WABC) 、全職音樂人

Possability.Me

Stay different, be golden

Welcome to a place where words matter. On Medium, smart voices and original ideas take center stage - with no ads in sight. Watch
Follow all the topics you care about, and we’ll deliver the best stories for you to your homepage and inbox. Explore
Get unlimited access to the best stories on Medium — and support writers while you’re at it. Just $5/month. Upgrade