一 调试相关:
1.1 打log,需要注意一下几点:需要有进程号(疑难问题需要),线程号(多线程问题需要),方法名(如果方法被多地调用,可以考虑打印该方法的调用堆栈信息)
catch掉异常要把原始错误信息打印出来:e.printtrace()
频繁的地方尽量加条件来减少打印量。
尽量使用带开关或带等级限制的log打印,方便后续管控。
1.2:1 分析log,要尽量把所有log都导进来,有些问题可能是早期异常导致,不一定是当前导致的
无法定位的,2 可以根据log信息,来还原当时的场景,甚至对比两份log,有可能已经被解决
3 要区分猜测和已确定的结论,猜测需要模拟场景来验证,或复现。
1.3 要解完问题后,将相关的log 关键字记录下来方便下次查找,尽量分类记录,因为多了的话,不好管理
1.4 要找到问题的根本原因,如果未找到,可以问下,有可能其他人改过的其他bug导致。
暂时搜集这么多,后续再增加吧
还有其他几个方面也是需要及时总结下的:问题分析流程总结,代码提交流程总结,相关资料建立索引总结,三大模块有待编写。
第一个,代码提交总结:
1 要把 合并冲突的步骤再熟悉下,android studio 只是会用,现在要从原理上会用,因为担心冲突而导致的急于提交服务端是很容易会出问题的,而用对比工具显然没有那么方便。这个要搞起来
2 git 指令也要有个全面的认识,包括公钥,用户名等,也是不能用到啥,就记住几个指令就行了的阶段,这个也要搞起来
第二个,问题分析总结:
1 是要建立自己的问题分类库,这个肯定是要问题类,比如 anr,泄露,绘制,重算,tts播报,要 建立各个的标签,方便每周总结的时候放如到各自的分类中去
2 目前还是以总分总的方式对问题进行分析,先分析该问题属于哪个模块,熟悉该模块的代码结构,然后根据信息深入到具体的代码点,进而联系更多的相关模块,是否会收到影响。(代码接口需要之前就熟悉,所以流程是关键信息定位到点,然后考虑是否影响到相关模块)
3 处理完之后,要关键字保存的保存,相关模块模糊点需要数据的标记下,有空的时候熟悉(不会有空的),最好还是当时熟悉下整个结构框架,别等了,骗自己的。
4 有空的时候,可以看下别人的提交,一是改了相关问题,你可以了解到,方便自己改代码,一方面借鉴别人,建议早上来的时候,大致浏览一下。
5 重要的还是要无视其他催促,静静的按流程分析,不然容易陷入恶性循环
6 交流相关问题时候,需要贴出log,或第三方log来证明,不能简单的以为,否则容易引来麻烦,需要你自己担责。
接下来是文档资料管理
保存在本地的资料要分类,工具,学习资料,项目资料
重要的要放到网上博客里面,比如这里