什么是小黃鴨除錯法
小黃鴨除錯法(又稱橡皮鴨除錯法,黃鴨除蟲法)是軟體工程中使用的除錯代碼方法之一,此概念是參照于一個來自《程式員修煉之道》書中的一個故事,傳說中程式大師隨身攜帶一只小黃鴨,在除錯代碼的時候會在桌上放上這只小黃鴨,然后詳細地向鴨子解釋每行代碼,
小黃鴨除錯法適用場景
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:這個鍋我不接,有人改了代碼,
總結
小黃鴨除錯法實則是通過對著小黃鴨自言自語來整理程式猿思路,從而達到山窮水盡疑無路,柳暗花明又一村的豁然開朗之境,相較于摳頭除錯法和啃手指除錯法可以更高效、更健康的發現和解決問題,建議程式猿們多加練習和實踐,早日成為程式大師,
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/224748.html
標籤:其他
上一篇:C語言習題學習
下一篇:一個渣程式員的自述。
