提及來這是我真正開始工做的第一年,實習不算,從一個學生要轉變成爲一個職場人,說實話,個人感受不是那麼強烈,多是咱們團隊的氛圍比較好,我沒有感覺到那麼多有的沒的,今年是很是重要的一年,我本身是這麼以爲的,從思惟上要從學生的思惟轉變成在公司裏如何解決問題的思惟方式,固然了,2019 年,我認爲對於我本身來講可能會是一個轉折點,至於爲何這麼說,其實也是本身心裏的一股強烈的感受吧。css
2018 年對於我來講,分爲上半場和下半場,上下半場對於我來講都有着不小的收穫,上半場的我關注點在於如何作好基礎設施,如何作框架,爲公司的各位研發老哥提供最有力的支持;而下半場個人關注點在業務,理解業務爲首要任務,以及如何以最合適的技術去實現功能。html
React 又爆新聞啦,今年但是看到很多的這樣的文章,今年 React 也是出了很多的新的功能。前端
新的生命週期react
在 React 進入到 16.3 以後,新增了兩個生命週期,以及將原有生命週期中的 componentWillMount
、componentWillReceiveProps
、componentWillUpdate
的三個生命週期標記爲 unsafe
,這三個生命週期在 16 版本還能繼續使用,可是這三個生命週期將會在下一個大版本移除,值得注意的是你不能在一個組件裏同時使用新的和舊的生命週期,至於爲何要這麼作,能夠去看一下 React 新的架構模式。linux
新的 Contextgit
React 中的 Context API 相信你們都瞭解,在以前,React 不建議使用 Context,這是一個實驗性的 API,但如今它又回來了,成爲了一個很是棒的 API,至於爲何咱們須要這個 API,以及如何使用,能夠看看之前的文章,好比這個。程序員
React.memo
主要是用於函數式組件,做爲 PureComponent
的替代解決方案。而 React.lazy
則是配合 Suspense
進行代碼分割。算法
Hooksdocker
在最近幾個月,關於 Hooks 的文章也挺多的,獲得了不少的反饋,也有不少的開發者喜歡這個東西。它可以讓你不須要使用類就能使用 React。那麼爲何要引入 Hooks 呢?官方給出的答案是,Hooks 解決了 React 中各類看似不相關的問題,這些問題是咱們在開發和維護數以萬計的組件時遇到的。
Babel 7 以及 Webpack 4 的發佈,最近又瞭解到 AMP,雖然沒有作移動端,可是仍是瞭解了一波。
這一年的熱點一件一件的說其實還真很多,也就不贅述水文了,可是咱們以什麼姿式去了解這些東西,我以爲是比較重要的,從我我的來講,我將這些新的知識分紅幾塊,用不一樣的標籤去對應這些知識,其實看起來就是一個象限,固然了,這也是我我的的見解,也不必定適合你們。
幹程序員這行,無論是興趣也好,被迫也罷,學習二字貫穿整個職業生涯,也就是說咱們要按期的爲本身的知識資產進行投資。
那麼今年個人學習目標是什麼呢?基礎、基礎、基礎,重要的事情說三遍,在繁榮的技術圈,基礎纔是立身之本,近來,我更是以爲這種觀點是對的。
在真正的開發過程當中,我相信不少人的體驗是按照當前項目已有的代碼架構與模式,把本身的代碼加進去就能夠了,就如同蓋房子同樣,設計師把圖紙弄好,計量人員把哪一塊用多少料都搞得清清楚楚,剩下的須要作什麼呢?把磚什麼的堆上去就 ok 了是麼?固然了,也有可能在修的過程當中遇到了一些難題,根據咱們的思考、多年的經驗解決了這個問題,可是誰不想去當那個設計師呢?
因此我以爲,今年個人思考方向,就是從怎麼寫好功能,轉變爲 如何運用我所學的知識去組織出受過培訓的人就可以很容易編寫和維護的代碼。
因此個人學習方向是什麼呢?今年的學習在這些方面,設計模式、基礎算法以及數據結構,以及如何寫出易維護的代碼。
除了上面說到的這些,在查閱各類資料的時候,對 Fiber 十分有興趣的我也學習了一波 Fiber,感謝司徒正美等大神對 Fiber 的剖析,結合他們的剖析以及對源碼的研究也算是對其有所理解。
這是一些資料:
說到這裏,不得不說,在閱讀源碼的體驗上,我我的以爲在 React 上的體驗不如 Vue 的好,也多是我不太習慣 React 的源碼組織方式,讀起來有點難受。
對於 Vue 源碼的學習,學到了很多的東西,包括數據驅動、響應式原理、組件化、編譯等等,Vue 源代碼的可讀性仍是不錯的,你們閱讀的話能夠結合思惟導圖,以及斷點調試來學習,我的以爲不錯。
固然了,關於 React 相關的閱讀都沒有關注在 React 自己,而是聚焦於 React 周邊的各種經常使用庫。
好比,redux 的學習,在其中你能夠看到 redux 的中間件機制,如何建立 store 等等。配合 redux-thunk 食用更佳,你能夠了解到,爲何 thunk 支持異步,這可以幫助你更好的學習 redux。
以及結合 react-redux
、react-router
等庫的源碼你可以學到高階組件、Context API 等等的學習,能夠去看一波,仍是有所收穫。
好了,下面就來講說上半場吧。
對於基礎設施來講,我以爲比較重要的幾個點,你們能夠注意一下。
第一,就是要作一個很是有原則的人,尤爲是在代碼上,我我的以爲斤斤計較也不是個什麼壞事,作基礎設施必定要注意原則。
第二,要創建本身的知識庫,不只僅是如何使用這個基礎框架的文檔,更重要的是本身內部要有一套關於這個框架的知識庫,避免由於人員流失等緣由形成知識丟失,後面維護這一塊的代碼就至關困難。
第三,必定要有測試,這個東西,至關重要,可以充分的保證咱們的代碼質量。
談到基礎設施搭建,咱們就不得不說說構建開發流程了,咱們要作到代碼規範、持續集成、測試等等,咱們一個一個來講。
上面說到關於這個開發流程,那麼咱們如何在提交時避免這些問題的發生呢?咱們不能只在 CI 流程作 lint 等操做,這樣的話,咱們的反饋鏈太長了,因此咱們將着一系列操做放到了本地。
咱們須要的基本操做是哪些呢?對 commit-msg 的校驗、lint、prettier 等等操做。
關於這一部分,我就很少 BB 了,下面有一些資料:
下半場更多的感悟其實不是純技術上的,雖然也有技術相關的東西,可是我以爲對於我來講這幾點很是重要。
下半場在項目裏進行了幾個月的開發,在開發的過程當中,我也有很多的心得體會,雖然不知對不對,分享給你們,共勉。
第1、交流,交流真的很是重要,我記得我組長看過的一本書 《非暴力溝通》,書很是好,推薦給你們,咱們在溝通中少了很多爭執,溝通的效率就不同了。
第2、不要一路狂奔,停下來思考思考。我不知道你們有沒有和我同樣的感覺,項目比較緊張的時候可能就全身心的投入到功能開發、bug 修復上去了,都沒有時間來想一想本身的工做,進行復盤、評估,形成的結果是,等一段時間過去後,再回首已然一片狼藉,再想要把項目拉回正軌要耗費很是多的時間,因此個人想法是,就算再忙也要停下來想想,避免給本身之後挖坑。
其實還有很多的想法,可是篇幅有限,我就列了兩個我以爲很是重要的點。
這是《程序員修煉之道–從小工到專家》中的一段,這是一本很是經典的書,推薦。
說的是,這個理論是認爲一個環境中的不良現象若是被聽任存在,那麼就會誘導人效仿,甚至變本加厲。在代碼中,這一點尤其常見,當第一段很差的代碼出如今你倉庫裏,就可能打開了潘多拉魔盒,這也就是爲何我說作基礎設施的必定要謹慎,要較真,若是你的代碼規範執行的很完全,那麼相信誰也不會想去當提交第一段爛代碼的人。
知識丟失對於一個項目來講很是的致命,會形成咱們的項目失控。什麼狀況下會形成知識丟失呢?
只是提交了代碼,忘記了保留知識,包括註釋、文檔等等,又或者是作這個模塊的同窗離職了,又或者是掉到其餘崗位去了,一旦沒有把知識傳遞到位,形成的結果就是知識丟失,新接手的同窗看不懂、不敢刪、不敢改,就像一個泥潭同樣,讓人越陷越深,最後變成讓人感到絕望的祖傳代碼。
對於這個問題,我想優秀的代碼規範、有跡可循的註釋與文檔可能能夠解決一部分,可是到底該如何解決這樣的問題,我也沒有找到什麼方案,不知道各位有什麼有效的方法。
好了,大概說完了 2018,就要說說這個厲害的 2019 了。
整理一下我本身的單子:
我想到的大概就這麼多,畢竟明年啥樣我如今也無法預測,前端圈瞬息萬變,我就靜觀其變,打好基礎,迎接時代的衝擊吧!
喜聞樂見的 flag 環節,固然了,這是在給明年的總結留打臉證據的。
其餘的 flag 也就不立了,感受說的有點雜,有點多,就當我跟你們嘮嘮嗑吧,祝你們新年快樂,新年新氣象,升職加薪,走上人生巔峯。
偷偷在下面立個小 flag,女友說我瘦到 140,她才和我結婚,這個 flag 悄悄的立,大家就當沒看見好了。