最近有个同事遇到了个棘手的问题,easypoi导出文件出了bug,却不知道是怎么回事,无从下手,无可奈何,由于事态紧急,只能火急火急的求助于我。我问他:“开发的时候功能调通了吗?测试阶段通过了吗?” 同事均回答:“之前测试都没有问题,之前的账号数据可以导出,却唯独是这个不行。我仔细看了我写的代码,根本就不觉得有什么问题啊,不知道原因出在哪里……”
导出的错误文件如下:
正常导出的文件应该是这样的:
在详细了解情况以后我便开始了我的源码探究之路。确实,很多人在遇到此类问题的时候往往想到的就是自己的代码有问题,或者是使用框架不当,未按框架的规则来编写代码才导致出现问题,而极少会想到是自己使用的框架本身就有问题,本身就有bug。要知道框架也是人写的,是人就会犯错!更何况像easypoi是近年来才出现的新型框架,还不太成熟,潜在的bug多,出错的概率就更大些。
我帮人解决问题的同时,我习惯性的是希望帮助人学习到解决问题的能力,而不是仅仅解决这个问题。正所谓授人以鱼不如授人以渔,所以我便亲自在这位向我求助的同事面前掩饰了一番,如何去解决这个问题。
首先,我们将导出正确,和导出错误的两组参数进行收集,然后使用postMan分别进行调制,在关键代码初打上断点,如下图: