BUG它当然是喜欢和程序员玩捉迷藏这个游戏的,但是程序员却并不是特别喜欢BUG。因为BUG往往意味着测试小哥会找上门来,而往往他们一找上们来,那么你可能就得修改了,而修改需要时间,那么今晚你加班了吗? 所以为了尽量早的找到BUG以结束这场程序员不太感兴趣的游戏,他是怎么做的呢?
第一:合理的使用输出语句
对代码进行调试你可以插入更加可靠的、真实的输出语句。当你的输出语句数量庞大而且不容易管理的时候,在输出语句中恰当的使用记录系统,那么你可以更加方便的找到他并结束这场游戏。
第二:调试器
源代码调试器是个很好的东西,它采用了输出语言方法里面的逻辑推理。这可以让程序员一行一行的去执行代码,同时还可以监测从变量值到底层虚拟机整个状态的一举一动,可以说是相当的棒。
第三:BUG跟踪系统
一般来说在一些很重大的软件项目中,合理的使用BUG跟踪系统是非常有必要的。就好像你和BUG的游戏你占领了先机。 第四:版本控制
版本控制呢,在代码拍错里面占有举足轻重的地位和作用,它可以让程序员回滚到较早一点版本的代码,尽可能的在错误出现之前,在代码库里面对错误进行修复。
第五:自动化测试
而自动化测试呢!就是一段代码用特殊的输入值来运行软件,用这个方法检测程序运行是否和你预期的值相符合。
当然,找到BUG之后你就满足了吗?找到BUG之后应该怎样去处理呢?如果处理的不好它还是会找上你的哦!那么下面有一些非常常见的BUG和它的一些解决办法。
第一:输出的结果和预期的不符合
这一类的BUG一般来说是由于代码逻辑错误从而造成的,如果你能在开发的环境下重现,那么优先的解决办法就是单步调试,设定每一步代码的预期结果,然后跟踪判断实际的结果是否和预期的结果一致。假如不一致,那么不一致的原因是什么?假如说不能在开发环境重现的,无法进行单步调试的,可以采用添加输出日志的方式来分析判断到底是哪一步的原因。
第二:系统异常报错
当你遇到这种情况的时候,那就需要你提取日志了,然后找到错误的堆栈信息,如果你能够看懂的话那就更好了,但是一般来说很多经验不足的程序员看不懂,他们只知道报错了,报的是什么错,但是这个错代表了什么却一概不知。
第三:系统响应缓慢
这种问题一般来说是存在资料竞争或者系统资源不足的情况,首先需要检查服务器内容、CPU、网络的情况,如果说服务器的压力过大,那么排查应用系统负载的一个情况来判断是否异常,如果数据都是正常的,那就需要一定的时间来排查代码中的性能问题,特别需要注意的是依赖第三方借口的情况,比如说同步的方式发送邮件、短信、文件等等。
当然,这以上只是一个小小的总结,大家可以稍微的看看,那以后和BUG捉迷藏就不会那么的无迹可寻了。同时也欢迎大家在评论留下你的看法和建议。
|