美文网首页
React Native 从写 BUG 到修 BUG

React Native 从写 BUG 到修 BUG

作者: 芝麻香油 | 来源:发表于2017-11-30 13:05 被阅读0次

    原文链接

    image.png

    写在前面

    从去年暑假开始,我好像就与前端结缘了。天知道,在学前端之前,我一直以为我会一直学后端,不曾想这一入前端门,就一发不可收拾了。

    而这次更是奇妙,上项目前进行了几周的后端培训,一上项目反倒做起了前端,赤裸裸的打脸了。自然,对于没有接触过 React Native 的我一上项目就是写 BUG,与别人不同的是,我写的 BUG 还比较隐蔽,一般人你发现不了。庆幸现在的我,终于可以修一些简单的 BUG,不用整天写 BUG 了。那么,我是如何从写 BUG 到修 BUG 的呢?

    项目中的代码库那么大,怎么办?

    我是没有遇到过新人上新项目的,基本都是会上一个已经做了很久的项目,所以代码库一般都很大。面对项目中那么大的代码库,如果不是业务需要,我是不会没事干把它打开阅读的。尤其是一开始什么都不知道,那么大的代码库我也看不进去。

    那么,我们就从一个简单的 Demo 开始。找到项目中的主要技术栈,例如,我所在的项目 Mobile 端主要技术栈就是 React Native,可以从 hello world、to do 开始。庆幸,我的开始并不盲目,我的 Buddy 给我一条明确的前端道路,让我自己徜徉在前端的康庄大道上。

    首先,他给我布置了一系列的作业,通过作业我学到了很多基础知识。但是比较惭愧的是,一开始误解了他的意思,盲目的做了作业,忽略了很多别的东西。然后,他把我交给组内前端最厉害的人,也就是我的师傅,跟着师傅学了很多东西。

    对,就是这样,我躲过了自己面临很大代码库。

    Demo 写完了,然后呢?

    感觉说了句废话,Demo 怎么会写完呢?当然需求变了继续写 Demo。

    image.png

    当然我们不能一直停留在写 Demo 中,毕竟项目组对我们最大的期待还是能够独立做卡,写 Demo 也只能是下班后的自由“娱乐”,上班时间还是要以项目为主的。

    你以为你能独立做卡了吗?

    都说量变会引起质变,Demo 写多了,你以为你就能独立做卡了吗?

    那可能真的只是你以为。

    在我独立做卡之前,我的 Buddy 和师父可是进行了一场当着我面的密谈的,然后第二天就给我找了一张相对简单的卡,通过这张卡,我才真正理解了整个 Mobile 的架构。也正是从这张卡开始,我写的已经不全是 BUG 了,偶尔会帮助别的小伙伴看一些简单的 BUG,同时也帮着师父承担了一部分 BUG 卡。比较不幸的是,每次给我的时候明明是前端 BUG,我一找就成了后端 BUG。

    就这样,改着后端的 BUG,继续写着我的前端 Demo。一切以项目为主,一个简单的 Contacts 变过多少个版本我是记不清了,唯一记得比较清楚的就是,项目中用到的极少部分的第三库出现在了 Demo 中,还有很多我都还没有在 Demo 中写过。

    Demo 尚未完成,同志仍需努力。

    一切从 Session 开始,从头开始

    某天,Buddy 突然建议我做一个关于我最近所学的前端 Session 在项目组,想都没想就答应了,只怪自己太年轻。

    等到真正开始筹备 Session 的时候,才发现我真的是太年轻了,很多东西都只理解了表面,并没有任何深入的见解,面对一群大佬(有的后端很厉害,前端几乎不知;也有的前后端都很厉害),我怕了,第一次这么惧怕 Session。想当年在欧亚以及 TWU 那都是 Freestyle,现在呢?除了一开始的一腔热血(到现在也已经耗尽了),我什么也没有。

    就这样,经过与 Buddy 几次“激烈”的讨论,确定了我要讲的 ROADMAP。纵使确定了 ROADMAP,我还是很想放弃。顶着放弃的心态,发了 Calendar,没有给自己留后路,一切从 Session开始,从头开始。

    ROADMAP 主要包含以下内容:

    • 搭建 Demo 库只是简单使用脚手架(不做重点)
    • React Native 生命周期(重点)
    • Redux(重重点)
    • Contacts(待定)
    • Mobile 主要使用的库(待定)

    对于以上内容提出如下问题:

    • 生命周期
      • 你以为生命周期就只是几个函数吗?
      • 你以为你说了几个函数大家就懂得生命周期了吗?
      • 你知道生命周期的每个函数都做了什么吗?
      • ...
    • Redux
      • 你以为 Redux 就是你 Demo 中那么简单吗?
      • 你要知道你的 Demo 可是和项目中使用的一点都不一毛一样?
      • ......
    • Mobile 主要使用的库
      • 你以为看到别人用什么库,你就用什么库这么简单吗?
      • 你为什么不按照 Demo 中的样子写项目代码呢?
      • 那些库为什么会用在 Mobile 中呢?
      • ......

    不能再问下去了,再问下去,Session 真的就只能放弃了。


    image.png

    一切以一本书结尾

    面对上面一系列的问题,我一遍又一遍的问自己,Session 还要继续吗?

    Calendar 都发了,为什么不继续呢?

    不幸中的万幸,我还有一本书可以作为结尾。其实这是我第二次看到这本书了,第一次是大学舍友刚买来的时候,第二次也就是这次,见到 Buddy 后的第二天,他给我的。但是之前觉得这本书太深入已经还给他了怎么办,下个 pdf 能救火就行。

    image.png

    最开始看这本书的时候,真的好深入,给自己找了 N 多的借口,把书还给了 Buddy,这次真正想看的时候也只能看 pdf 了。

    以这本书为主,Session 为由,一切从头开始。代码写的虽然少了,但是对于知识点的理解也确实比之前深了很多。

    还记得,之前 Buddy 说,让我看完这本书给他讲讲书的内容。正好,待 Session 结束,待我真正看完这本书的时候,好好整理一番这本书的内容,再约个时间跟 Buddy 讨论一番,势必会有另一番收获。

    Session 还未讲,书的内容还未看完,与 Buddy 也还未讨论这本书,书还得硬着头皮继续看。

    写在最后

    写 BUG 到修 BUG 之路还很长。

    别忘了在任何时候,遇到一个强大的代码库,全新的技术栈,写个 Demo 冷静冷静。最后找前辈推荐或者自己在网上找一本比较深入的书,这条路也就那么回事了。剩下的也就是多加练习了。

    OMG,突然想起来,最开始打开 React Native 官方文档的时候,Buddy 给我说的最多的一句就是,看是没用的,你要多练。我还是“滚去”练习吧。

    相关文章

      网友评论

          本文标题:React Native 从写 BUG 到修 BUG

          本文链接:https://www.haomeiwen.com/subject/uaubvxtx.html