这个BUG可以说是我工作以来做的第一件实际性的东西吧,所以感觉挺值得纪念的;但是对于这个过程来说,不由得让我汗颜——那么多你不屑一顾的东西,你却没有做得到;把一件平凡的事做的精彩,也不那么容易。
接下来谈谈细节吧~
1.这个修改主要是增加一个功能:播放列表里存在一些过期文件(其实已经不存在),那么这个播放列表最好在进入时就更新一下,不显示没有存在的文件。对于问题的描述和定位是第一步,也是非常关键的一步;我走了一点弯路,最后在师傅的指点下选择了比较合适的处理方法。
2.问题一旦被描述和定位的很清楚,下面就是解决方案。对于OEM的程序来说,基本上代码你是不熟悉的;具体的执行情况你也无从判断,那么我们就需要用LOG来验证我们的判断,从而了解代码的功能。信息非常重要!你必须通过实际来验证你的想法,知行合一是必须的;在问题解决的过程中,因为这个问题的解决主要涉及到一些逻辑代码,很遗憾的是,我开始并没有对其逻辑结构进行很多思考,而是盲目的照搬其他地方的代码,根本没有考虑到程序的结构和功能,所以走了太多弯路。基本上,思考是创造性的工作,最关键的环节。永远不要放弃思考。
3.开始在代码的编写中,犯了很多低级错误。很多细节非常关键!内存分配的初始化,循环处理中使用的内存也要初始化, 建立和释放应该成对,思路要拓展,怎么拓展?站的高,看的才远,还是要多积累。实践+阅读思考 相结合,知行合一。保证每一个for循环都执行的正确合理也不是一件容易的事~ 细节常常决定成败。
最后,我们还需要多一点点耐心,多一点点毅力,多一点点付出。