小黃鴨除錯法 Rubber Duck Debugging
當我們這些非專業程序設計員,第一次聽這個「小黃鴨除錯法」怎樣運作,真是 bear 了一聲!
根據維基百科:小黃鴨除錯法是程式設計員使用的除錯方法之一。就是在程式 debug 過程中,耐心地向小黃鴨(通常放在 monitor 前)解釋每一行程式的作用,以此來激發靈感。根據經驗,當你細心解釋時,很多時就會自己找到錯誤的位置,跟著就會說聲:「多謝小黃鴨!」
整個概念的核心是,人類思維和電腦程式言語有根本的不同,有時只是打漏了一個符號就可以令到整個程式不能運作,相反,人類的思維常常處於一個非常灰色的地帶,最愛做一些不精準的比較及論述等等。
例子:「個天好似好黑,你記住一陣出門口帶傘,今次落既雨可能比前幾天大。」
個天好黑,即係幾黑?黑即是會落雨?出門口,可能只是倒垃圾?前幾天即是幾時?等等…
不過,「不需太精準」是人類溝通的必然模式,若我們說每一句說話也像電腦程式言語一樣精準,人類一早已經滅亡了!
指紋解讀
很多人說:「我把口快過個腦!」其實真係冇可能囉!這個情況可能是,一,沒有仔細想清楚,輕易就說話;二,本能,說話反應太快,但這也需要經過思維功能,例如:聽到阿媽講講講,雖然聽不到內容,但卻自動波地:「哦… 哦… 哦…」。所以,一般而言:
思維速度 > 聽說話速度 > 講說話速度
在指紋學上,右手二手指 R2 代表邏輯思維區,而右手四手指 R4 代表言語區。若你發現自己 R4 的紋數,相對低分過 R2,代表你把事情想得通後,但是用說話解釋就會比較吃力,詞不達意就是這樣。相反,若你發現自己 R4 的紋數,相對高分過 R2,即是你會傾向想「講」多過想「思考」,所以口快過腦可能就是這個情況。當然,這裡只是特意 pin point 這兩個區,其他區的影響這裡暫時不談。
「小黃鴨除錯法」:R4 幫助 R2 及 R5
「小黃鴨除錯法」的原理,就是用說話拖慢自己的思維,慢慢看(程式碼),慢慢想,慢慢講,令程式員慢慢幫自己 go through 程式邏輯及輸入校對。啊,忘了說,右手五手指 R5 代表文字符號區。
現實生活中,常常把概念或問題困在腦中,當沒有出路時,倒不如用此方法,和公仔,和寵物,和朋友傾下計,用心把自己的思維細心解釋給他聽,靈感和生機很快會出現!
