一个花了我两个晚上的低级错误

来源:互联网 发布:开心农场源码 编辑:程序博客网 时间:2024/04/30 06:57

  真的好烦,这两天一直被一个BUG围绕着。 这几天下班回来吃完之后就把心思放在这BUG上面,程序流程不知道在脑海里理过了多少遍,现在终于把它解决了。另我惊讶的是这个BUG出现的地方竟然是我一个很低级的错误造成的。

    

 出错语句:*GetNextPtr(pTest = *GetNextPtr(p));

    正解语句:*GetNextPtr(pTest) = *GetNextPtr(p);

    看到这个我都快哭了,我的两个晚上五六个小时的时间就浪费在一个括号上面了。

 

 单看这条代码肯定知道它错误的可能性很大。可如果它是在几百上千行程序里面,程序包含多线程,网络等方面内容,并且这条语句运行的概率又很少。这样你就只有哭的份了。

 

 写这个的目的是在以后的程序中怎么样避免这样的错误发生!!这样的错误我可不想花几天时间来找。所以要找到避免这种事情发生的方法。即使事情发生了,也要能够只花最少的时间找出问题来。

 

 我想到了几点:

 一、写每个函数试都要进行测试,每条路线都得测一遍。

    这个方法怎么说呢,很多人都知道这样干是好的,可大多数人都不会这么干,太烦,我也一样,于是上面的错误~~~

 于是我想到了第二种方法:

 写一个程序把自己编程的习惯写法记录下来,然后扫描自己写的代码,指出不符合自己习惯的写法。这样改起来会好些。

  比如上面的,我根本不可能会有把赋值语句放到函数参数里面,这不会是我的编程习惯。程序一扫描就马上知道这个有问题。

  好!这个周末有事做了!

    

    我暂时只能想出这两个方法来了,不知道谁还有更好的方法,告诉我,小弟会感激不尽。

 

  

   

原创粉丝点击