事情:
前2天寫了個功能模塊,其中需要計算kdj指標的值,感覺運行後的結果總不太對,仔細檢查若干網站、書籍上介紹的計算方法,仔細覈對了程序覺得都沒什麼錯誤。這件事斷斷續續地懷疑、測試,折騰了2天。
沒辦法了,決定退回到最基本的步驟,一個一個數據地看這個計算kdj的函數的計算過程和計算結果。於是在程序中插入了一組測試數據,並手算出了每一步的結果和最終結果。然然後在debug方式下單步執行,查看對比。很快知道了一個循環出來的結果不對,再仔細分析循環代碼,是每一圈循環的時候2個局部變量沒有復歸爲初始值,而是保留了上一圈的結果,修改後結果正常。
結論:
如果有方便的單元測試,就不會不捨得花時間測試葉子函數,就不會花2天時間,而可能2個小時都用不了。
沒有對錯誤位置的明確定位,靠眼睛看有時就是看不出來錯誤的。
ps: 不知道爲什麼上面“測試"2個字是紅色的。