非代码能力-以解决RN插件慢为例
标题:RN插件启动慢愁了小伙两天,经指点后半个小时解决 描述:以解决React Native插件启动慢问题为例子,讲述非代码能力如何提升,有时不以代码量为标准,而是解决问题的思路。
封面: 非代码能力
开场: Hello,大家好,今天分享一下:非代码能力。
事情是这样的,小王写得RN插件启动出奇的慢,需要将近4秒钟启动完成,已经临近deadline。周五下午15:00左右,小王找到我说,这个问题自己没有思路,已经自行解决2天了,把所有应该改的点都改了,都不行。且老板也过来取笑,“我说的去掉启动时显示的小汽车是为了加速,你这是去掉了小汽车,但是居然是白屏了4秒还不如有小汽车呢,你们这理解力,就只是把小汽车去掉了,呵你们这。。。”,我回答老板到“显示小汽车是一个问题,启动慢也是一个问题,这两个问题在我的安排之中,小王已经自行修复了2天了,可能方向偏了,只是任务没有对齐而已。我刚才给他指点了,今天应该能解决,且我认为90%是插件的问题,所以不用动底包APK,APK可以先上线”。
我到底给小王说了什么呢? 他找我的时候拿了一张纸画了很多东西,简单讲他给我说他试着升级JS引擎,但是已经是最佳的Hermes了;优化了插件下载也都不行。我说我先不看你的纸,我其实就等你来问我呢,不过你前两天自行研究的过程体验也很重要,事后一定要记录下来。你现在就在乱试,应该先有思路,这个问题不是考验代码量了,而是思维能力,要像侦探破案一样的思维能力,解决bug其实就是在破案,也要学着梳理案件,先找到突破口才下手。
比如,谁让你解决这个问题的?我。问题是什么?慢。慢是一个相对量,是和谁比的?对,新写的插件B和上一个插件A对比的。所以你应该从这里入手,对比AB插件的差别在哪里,看是不是A也变慢了。
根据以下架构图和流程图就快速定位出了是打包脚本的问题。
架构和流程图 |