处理程序error/bug思路步骤的小结

作为一名programmer,日常操作就是面对程序中的各种bug,error,

处理程序error/bug思路步骤的小结

笔者属于脾气不好的类型,因此经常会念叨“烦skr死人了!”哈哈

 

最近在进行android开发时碰到了不少问题,仔细一想,还没有系统地形成一套处理bug的思路,遂,        

google走起,整合了一些优秀答案,以此来分享,如有不足,望指教!

 

本文分类两个section,第一个为常规处理思路,第二个为一些特定IDE的官方处理bug指南。

Section1.  总体思路

【1】      首先保持一颗正常心态(mindset),因为你要知道无论多牛的大神,强如小扎,楼教主,他们的代码也是会有bug。因此如果抱着烦躁心态处理那生成的bug恐怕比原本的还要多。

【2】      如果有多个bug,将bug按likelihood和consequence进行排序,从高到低解决,这里likelihood就是一般情况下这个错误出现的可能,consequence就是它造成的后果,表如下:

处理程序error/bug思路步骤的小结

                       那如果两个bug的level相同,就可以借鉴一下的思路,来判断哪个更棘手:

                       处理程序error/bug思路步骤的小结

 


【3】      判断出错地点

《1》     很多语言IDE都提供了stack trace(如python,java),同样你也可以用打log的方式(如Android开发)或其他IDE的具体工具进行定位。因此在上手一款IDE前事先对官方文档进行阅读是很关键的。

《2》      尽可能将错误定位在小范围内,这个可以根据错误提示进行,下面是一段java的stack traceback的错误信息,

处理程序error/bug思路步骤的小结

事实上你应该十分清楚错误原因是最后的提示,java.lang.ClassNotFoundException,也就是

你类的目录可能出错了。将问题定位到小范围十分有助于你快速处理。

《3》      明确出错时的输入输出是什么,即该error是在哪些情况下发生的。因为很多时候我们的错误都是一些特例,举个例子刷PAT时,那些大数据测试,就可能让你runtime error。

【4】     如果经过了上述步骤你还是无法解决问题,那结合自己的IDE,给出错误信息,编程语言,以及上面的这些步骤,在网上寻找准确答案把。最常用的网站应该是*,笔者几乎所有错误都能在这上面得到答案。

【5】      当然如果有可比对源码,那参照源码找出错误是再好不过的。如果没有发现问题,则找method或class的implement代码(API源码),看具体内容。

【6】     最后的最后,  如果30min还是不能用以上方法解决,那不要怕丢人,去咨询你身边的大牛吧,往往他们能一眼看出你的错。

 

 Section2. 特定IDE对应错误处理步骤

        【1】      Visual Studio

         https://docs.microsoft.com/en-us/visualstudio/ide/find-and-fix-code-errors

       【2】      Android Studio

        https://developer.android.com/studio/debug/

 

参考:

https://www.codementor.io/mattgoldspink/how-to-debug-code-efficiently-and-       

effectively-du107u9jh

 

https://raygun.com/blog/solving-software-errors/

 

此文将不断更新,欢迎提意

 

转载请注明出处