总体:
1、对于不熟悉的工作,留够时间,不要想当然以为很简单,像这次就有很多你根本没有想到的冰山,占用了你很多未曾预设的时间。
2、不要随随便便升级事态。每次想采取非正常动作时,要谨慎,考虑一下是不是可能存在误会。在必要时候再进行非常规动作。可以考虑有层次地进行处理,并且,保持宽容的心态,允许别人犯错。
技术上:
1、NPE的预防。一次是取下游返回的spu字段没有判空,一次是自己设了一个字段让前端传回来时没有考虑前端不传的情况,没有初始化那个String,没有判空。还有一个是解析json,没有了解就调fastjson的api,导致不知道出抛解析异常,从而给自己写的代码埋下了可能出现的bug。
2、数组越界的预防。用String::split的时候,返回的数组的长度可能就和设想的不一样了,就需要写try-catch来处理非常规情况。还有,在自己写的解析时间格式的工具类里,没有对可能出现的非常规情况作异常处理。这一part不熟就该及时去学习,而不是不处理,而不是存在侥幸心理,因为这是你写的代码,你写的是生产级别的代码。
3、下载模板中,甚至不了解自己没有改excel的标题行,这也属于是处理自己不熟悉的任务时犯的错,需要经验,而没有经验的时候就需要前期自己挤出来的容错时间。
4、在改代码过程中,脑子一定要清醒,不能想当然地就改了,不然一行代码的改动可能需要你后续排查很久。比如设置了THY的标签直接等于3,导致直接searchList页都出不来了。
5、在改代码的过程中,甚至不能一下子理清自己的prd所要求做的改动都涉及到哪些方法,在那里乱改,甚至以为全局搜到的类似的接口都要改。由于需要认识到,自己在写技术方案的时候没有确定好写出来的方案一定可行,这次是想当然了。在出技术方案之前需要调研、明确,避免后续的无谓的修改。
部署回顾:
1、写完了下载的逻辑上传,结果有返回图片NPE、解析字符串格式NPE、parseJson的API可能报NPE、拆分类目出现ArrayIndexOOB,部署后下载接口不可用。排查了一大轮。
2、不知为什么进不了泳道。求助导师。后发现有时候节点下掉,问题未知。后来通过看日志并自己检查自己写的代码找出了问题。排查时间很长。
3、解决完NPE、ArrayIndexOOB,结果发现现在用的接口返回spu没有图片,需要替换当前下载所用的查询接口。
4、写完和前端传参的逻辑,部署发现下游接口删了一个写在了文档里的方法,以致于要换一个下游提供的方法才能通过编译。
5、换完被删的方法,并改了spu没有图片的接口后,发现自己写的逻辑不对,全都会筛选只有yibao的品。
6、改完后部署,点击下载接口测试,还发现下游提供的新包里一个旧的方法返回全0了,需要排查。