話說程式有錯時, 你會怎樣找出錯誤方法在哪裡呢? 有些人會一行一行去單步執行, 有些人會一直反覆閱讀程式碼, 有些人會一直在程式中加入 log 來查看, 各種方法真的是應有盡有. 

最近又聽到一種很好玩的做法, 叫做黃鴨除蟲法(Rubber Duck Debugging), 或是稱為橡皮鴨調試法就是在程序的調試、糾錯或測試過程中,耐心地向小黃鴨解釋每一行程序的作用,以此來激發靈感。

 

large_3796048447-830x553   

這個典故的來源, 聽說是 The Pragmatic Programmer 一書中提到, 程序大師隨身攜帶一隻小黃鴨,在調試代碼的時候會在桌上放上這隻小黃鴨,然後詳細地向鴨子解釋每行代碼. 後來就有程式設計師效法這個方法, 因此流行起來.

 

PPJM  

另外有種變形叫做Cone of Answers, 也跟個方法類似. 找個人把問題講給她聽, 說完後他還沒開口, 你就想到解法了.
http://c2.com/cgi/wiki?ConeOfAnswers

想想如果你對著一隻鴨子談談都能幫你找 bug, 那如果有人可以一直和你討論, 應該會比不會說話的小丫丫有效吧, pair programming 應該算是演進版的黃鴨除蟲法啊 XDDD

老闆說, 如果我在公司外面擺一隻大黃鴨, 既可以收錢讓大家來觀光, 又可以讓 engineer 容易除錯, 真是一舉兩得

 

media_httpiimgurcomxm_gcwqy-scaled1000  

 

arrow
arrow
    全站熱搜

    kojenchieh 發表在 痞客邦 留言(0) 人氣()