事情:
前2天写了个功能模块,其中需要计算kdj指标的值,感觉运行后的结果总不太对,仔细检查若干网站、书籍上介绍的计算方法,仔细核对了程序觉得都没什么错误。这件事断断续续地怀疑、测试,折腾了2天。
没办法了,决定退回到最基本的步骤,一个一个数据地看这个计算kdj的函数的计算过程和计算结果。于是在程序中插入了一组测试数据,并手算出了每一步的结果和最终结果。然然后在debug方式下单步执行,查看对比。很快知道了一个循环出来的结果不对,再仔细分析循环代码,是每一圈循环的时候2个局部变量没有复归为初始值,而是保留了上一圈的结果,修改后结果正常。
结论:
如果有方便的单元测试,就不会不舍得花时间测试叶子函数,就不会花2天时间,而可能2个小时都用不了。
没有对错误位置的明确定位,靠眼睛看有时就是看不出来错误的。
ps: 不知道为什么上面“测试"2个字是红色的。