几个月以前写了一个小软件(叫软件A吧), 但有一个比较隐蔽的bug, 当时也测试到了, 为了修正这个bug, 添加了一些测试代码进去. 但由于当时突然有其他事情了, 所以软件A就停留在这个状态(有一个很隐蔽的bug和添加了一些测试代码), 就不了了之了.
刚好, 现在要做另外一个小软件(叫软件B吧)用得上软件A的一些功能, 于是, 把软件A的部分代码移动到软件B上, 周六测试的时候, 软件B总是莫名其妙的出现死机报错等. 我用了一个周六下午, 找啊, 找啊, 找啊, 结果还没有解决. 星期天放假都牵挂着这个问题.
今天早上, 心有不甘啊! 再次排查.!!!!!!!!!!!!!!!!!!!!!!!给我找到了, 就是软件A的Bug和添加的一些测试代码引起的.
我X, 人生有多少个周六下午啊? 就这样子被这么一个小错误, 白白用掉了我一个周六下午!!!!!!!!!!!!!!!!!!!!!!!!
总结:
1. 在修改软件Bug的时候, 添加一些测试代码排错是很好的办法, 但是你添加的测试代码本身也有Bug的话, 那就要三思了.
2. 添加测试代码的态度要端正啊, 不要抱着"测试代码后面会删除的, 有一些bug也不要紧"的态度.
例如测试代码中new的一块内存, 一定要对应的删除.
3. 请不要让你的代码处于错误的状态不管, 像软件A那样子, 本身就是有Bug的, 增加了测试代码进去后又增加了Bug, 然后又没有任何说明.
至少要加一些说明, 在后面需要使用的时候, 起码也然使用者知道这些代码的情况. 否则害人害己啊.
刚好, 现在要做另外一个小软件(叫软件B吧)用得上软件A的一些功能, 于是, 把软件A的部分代码移动到软件B上, 周六测试的时候, 软件B总是莫名其妙的出现死机报错等. 我用了一个周六下午, 找啊, 找啊, 找啊, 结果还没有解决. 星期天放假都牵挂着这个问题.
今天早上, 心有不甘啊! 再次排查.!!!!!!!!!!!!!!!!!!!!!!!给我找到了, 就是软件A的Bug和添加的一些测试代码引起的.
我X, 人生有多少个周六下午啊? 就这样子被这么一个小错误, 白白用掉了我一个周六下午!!!!!!!!!!!!!!!!!!!!!!!!
总结:
1. 在修改软件Bug的时候, 添加一些测试代码排错是很好的办法, 但是你添加的测试代码本身也有Bug的话, 那就要三思了.
2. 添加测试代码的态度要端正啊, 不要抱着"测试代码后面会删除的, 有一些bug也不要紧"的态度.
例如测试代码中new的一块内存, 一定要对应的删除.
3. 请不要让你的代码处于错误的状态不管, 像软件A那样子, 本身就是有Bug的, 增加了测试代码进去后又增加了Bug, 然后又没有任何说明.
至少要加一些说明, 在后面需要使用的时候, 起码也然使用者知道这些代码的情况. 否则害人害己啊.