作为一名programmer,日常操作就是面对程序中的各种bug,error,
笔者属于脾气不好的类型,因此经常会念叨“烦skr死人了!”哈哈
最近在进行android开发时碰到了不少问题,仔细一想,还没有系统地形成一套处理bug的思路,遂,
google走起,整合了一些优秀答案,以此来分享,如有不足,望指教!
本文分为两个section,第一个为常规处理思路,第二个为一些特定IDE的官方处理bug指南。
Section1. 总体思路
【1】 首先保持一颗正常心态(mindset),因为你要知道无论多牛的大神,强如小扎,楼教主,他们的代码也是会有bug。因此如果抱着烦躁心态处理那生成的bug恐怕比原本的还要多。
【2】 如果有多个bug,将bug按likelihood和consequence进行排序,从高到低解决,这里likelihood就是一般情况下这个错误出现的可能,consequence就是它造成的后果,表如下:
那如果两个bug的level相同,就可以借鉴一下的思路,来判断哪个更棘手:
【3】 判断出错地点
《1》 很多语言IDE都提供了stack trace(如python,java),同样你也可以用打log的方式(如Android开发)或其他IDE的具体工具进行定位。因此在上手一款IDE前事先对官方文档进行阅读是很关键的。
《2》 尽可能将错误定位在小范围内,这个可以根据错误提示进行,下面是一段java的stack traceback的错误信息,
事实上你应该十分清楚错误原因是最后的提示,java.lang.ClassNotFoundException,也就是
你类的目录可能出错了。将问题定位到小范围十分有助于你快速处理。
《3》 明确出错时的输入输出是什么,即该error是在哪些情况下发生的。因为很多时候我们的错误都是一些特例,举个例子刷PAT时,那些大数据测试,就可能让你runtime error。
【4】 如果经过了上述步骤你还是无法解决问题,那结合自己的IDE,给出错误信息,编程语言,以及上面的这些步骤,在网上寻找准确答案把。最常用的网站应该是stackoverflow,笔者几乎所有错误都能在这上面得到答案。
【5】 当然如果有可比对源码,那参照源码找出错误是再好不过的。如果没有发现问题,则找method或class的implement代码(API源码),看具体内容。
【6】 最后的最后, 如果30min还是不能用以上方法解决,那不要怕丢人,去咨询你身边的大牛吧,往往他们能一眼看出你的错。
Section2. 特定IDE对应错误处理步骤
【1】 Visual Studio
Fix program errors and improve code - Visual Studio (Windows) | Microsoft Docs
【2】 Android Studio
https://developer.android.com/studio/debug/
参考:
https://www.codementor.io/mattgoldspink/how-to-debug-code-efficiently-and-
Solving software errors: Know the what, where and how of fixing errors safely · Raygun Blog
此文将不断更新,欢迎提意
转载请注明出处