小黃鴨除錯法-程式猿修煉之道
什麼是小黃鴨除錯法
小黃鴨除錯法(又稱橡皮鴨除錯法,黃鴨除蟲法)是軟體工程中使用的除錯程式碼方法之一。此概念是參照於一個來自《程式設計師修煉之道》書中的一個故事。傳說中程式大師隨身攜帶一隻小黃鴨,在除錯程式碼的時候會在桌上放上這隻小黃鴨,然後詳細地向鴨子解釋每行程式碼。
小黃鴨除錯法適用場景
example A
程式猿A:又報錯了,明明程式碼看起來沒問題啊。。。
程式猿B:敲鍵盤。
程式猿A:明明什麼都沒做,怎麼就報錯了呢?
程式猿B:你在講鬼故事嗎?
程式猿A:幫我看一下,這裡哪出現了問題?
程式猿B:這寫的啥啊?
程式猿A:balabala,哦!我知道了。。。
example B
程式猿A:這又是個什麼報錯,這一串英文是什麼鬼。
程式猿B:(我是一隻小黃鴨,我不會說話)
程式猿A:(摳頭皮)
程式猿B:(我是一隻小黃鴨,我不會說話)
程式猿A:(吃手指)
程式猿B:(我是一隻小黃鴨,我不會說話)
程式猿A:百度……半小時後
程式猿B:找到錯誤了嗎?
程式猿A:你來幫我看一下,我先這樣,再這樣,然後這樣,沒問題啊,怎麼就報錯了。
程式猿B:你在說啥?
程式猿A:就是balabala,bilibili,我知道了!!!
小黃鴨除錯法先決條件
由以上例子可以得知程式猿B從頭到尾只是一個工具人,並沒有什麼作用。
這只是個名字,一個代號。你可以叫程式猿B,我也可以叫程式猿B,他們都可以。
因此萬物皆可為程式猿B,那麼小黃鴨也可以。
所以只需要有一隻小黃鴨即可觸發小黃鴨除錯法的充分不必要條件。
所以只需要有一隻小黃鴨即可觸發解決問題的必要不充分條件。
得出公式:
codeMonkeyA me = new codeMonkeyA();
codeMonkeyB yellowDuck = new codeMonkeyB();
while(!problem.isSolve){
me.say();
yellowDuck.silent();
}
return problem.isSolve;
小黃鴨除錯法最佳實踐
- 獲取一隻小黃鴨
– channelA:點外賣送一隻
– channelB:淘寶買一隻
– channelC:生日禮物收到一隻
– channelD:new一隻小黃鴨
-
遇到問題,對著小黃鴨(工具鴨)balabala
– methodA:肉眼看程式碼balabala
– methodB:一邊debug,一邊balabala
– methodC:一邊摳頭,一邊balabala -
靈光一閃,問題解決
– situationA:我知道了,原來是這樣。
– situationB:臥槽,這真是一個大坑。
– situationC:這個鍋我不接,有人改了程式碼。
總結
小黃鴨除錯法實則是通過對著小黃鴨自言自語來整理程式猿思路,從而達到山窮水盡疑無路,柳暗花明又一村的豁然開朗之境。相較於摳頭除錯法和啃手指除錯法可以更高效、更健康的發現和解決問題,建議程式猿們多加練習和實踐,早日成為程式大師。
相關文章
- 小黃鴨除錯法除錯
- 程式設計師修煉之道程式設計師
- JavaScript修煉之道JavaScript
- 程式設計師修煉之道1程式設計師
- 程式設計師修煉之道2程式設計師
- 程式設計師修煉之道3程式設計師
- 程式設計師修煉之道-筆記程式設計師筆記
- 程式設計師的修煉之道2程式設計師
- 程式設計師的修煉之道3程式設計師
- 程式設計師修煉之道總結1程式設計師
- 程式設計師修煉之道總結3程式設計師
- 一名合格的程式猿修煉手冊
- 袁紅崗的程式設計師修煉之道程式設計師
- 程式設計師修煉之道讀後感02程式設計師
- 《程式設計師修煉之道》讀書筆記程式設計師筆記
- 程式設計師修煉之道讀後感(1)程式設計師
- 程式設計師修煉之道讀後感(3)程式設計師
- 程式設計師修煉之道讀後感(2)程式設計師
- Java程式設計師修煉之道—併發程式設計Java程式設計師
- Web字型應用修煉之道(上)Web
- 程式設計師修煉之道-從小工到專家程式設計師
- java教程Java系統程式設計師修煉之道Java程式設計師
- 程式設計師修煉之道—程式設計師如何提高自我修養(2)程式設計師
- 程式設計師修煉之道——程式設計師如何提高自我修養(1)程式設計師
- 萬字詳文闡釋程式設計師修煉之道程式設計師
- 推薦閱讀:<<Java程式設計師的修煉之道>>Java程式設計師
- 程式設計師成長路上的團隊修煉之道程式設計師
- 2024.10.17(程式設計師的修煉之道)程式設計師
- 《程式設計師的修煉之道:從小工到專家》程式設計師
- 2024.10.29(程式設計師的修煉之道)程式設計師
- 軟體開發的22條法則 ——《程式設計師修煉之道》讀書筆記程式設計師筆記
- web前端開發修煉之道--編寫高質量程式碼Web前端
- 2024.10.22(程式設計師的修煉之道)程式設計師
- 讀《程式設計師修煉之道:從小工到專家》有感程式設計師
- LINUX核心修煉之道–讀後感薦Linux
- 《程式設計師修煉之道——從小工到專家》筆記1程式設計師筆記
- 《程式設計師修煉之道:從小工到專家》之程式碼質量程式設計師
- 零基礎入門前端的修煉之道前端