1. 程式人生 > >小黃鴨除錯法,每個程式設計師都要知道的

小黃鴨除錯法,每個程式設計師都要知道的

花了一下午(或一天)在試圖解決某個 Bug,後來才知道解決方案很簡單,當時就是沒有想到。

有個同事正好路過,看到你愁眉苦臉的,問你“怎麼了呀?”

“噢,是這樣的。我遇到了一個問題,點選這個控制元件的時……” 當你正準備和同事詳細解釋的時候,突然靈光一現,你話都沒說完,就中斷了和同事的傾訴,繼續幹活了。

同事微微一笑,又走開了。他並沒有怪你。

相信大家都有類似的經歷。遇到 Bug/問題被卡住了,拉個人過來,和他 blablabla 講了一通,很多時候中途你就找到了解決辦法。有時候,並不一定要和人傾訴,還可以像其他東西傾訴,強迫自己把遇到的問題,詳細地解釋出來(一定要說出來)。其實呢。這種方法,有一個術語:小黃鴨除錯法

(Rubber Duck Debugging)。

維基百科有解釋:小黃鴨除錯法是軟體工程中使用的除錯程式碼方法之一。就是在程式的除錯、糾錯或測試過程中,耐心地向小黃鴨解釋每一行程式的作用,以此來激發靈感。

名稱由來

此概念是參照於一個故事。故事中程式大師隨身攜帶一隻小黃鴨,在除錯程式碼的時候會在桌上放上這隻小黃鴨,然後詳細地向鴨子解釋每行程式碼。(引自維基百科)

(大家可以看下圖。鴨子真不少呢。)

演化

這種方法流傳開後,很多程式設計師效仿,開始拿其他玩具,比如手辦。喜歡二次元的,還會拿初音哈。或者是其他公仔呀。如下圖。

下面是「程式設計師的那些事」主頁君給大家找的一些國外網友分享的圖

遇到問題時,如果您的工作臺上也有傾聽的玩具或小東西,不妨拍個照,發給主頁君哦。(追加補充:當天晚上,就有朋友給我發了照片,是大白。)

對了,主頁君經常被同事拉過去當“小黃鴨”。哈哈哈哈哈。如果你也遇到問題,推薦大家試試這個方法。:)

這篇文章首發於「程式設計師的那些事」微信,微訊號:iProgrammer

iProgrammer

另外,文章分享到朋友圈後,再次引發了不少朋友分享和評論。

打賞支援我寫出更多好文章,謝謝!

打賞作者

打賞支援我寫出更多好文章,謝謝!

任選一種支付方式