如何克服 JavaScript 框架疲勞?
【編者按】Tero Parviainen 著有 Build Your Own AngularJS,曾兩次組織 Clojure CUP 競賽,在 Twitter 上有近兩千名關注者。在本文中,Tero 闡述了在 JavaScript 框架層出不窮的當下,不少開發者對選擇框架的種種困惑,如果你也有類似的困惑,不妨讀一讀。
以下為譯文:
JavaScript 社群正受「框架疲勞」困擾。著眼近段時間湧現出的大量新框架、技術和想法,令人振奮的同時也讓人覺得很難追上科技更新的腳步。
既然難以追趕,那麼必須選擇專注的領域,而做這個選擇也正是因為這種焦慮感。那麼,你在專注於「正確的事」麼?你正在學習的框架又是否是最合適你的,或許還有比它更好的?會不會下個月就發生些什麼讓你的選擇顯得過時?
這裡有一些個人總結,用以抵抗這種疲憊感和焦慮感。
1.學會欣賞已知中的未知數
事實上如果你遭遇了這個問題,那麼說明你已經很瞭解圍繞 JavaScript 正在發生些什麼。所有你認為應該學習的其實都是你有所瞭解的,它們都是你知識領域中的未知點。在這裡,你必須要理解——「已知的未知」會不停地擴張,永無止境。事實上,恰恰相反:這不僅意味著新事物在不斷出現,還意味著每一次你學習了一些東西,也會了解到與它相關的——那些你原本還不瞭解的事情。
舉個例子,在讀 Cycle.js 時,才發現對 Reactive Programming 知之甚少。學習 React 又帶來了接觸 React Native、GraghQL、Redux 的途徑,並如此無休止的反覆。一件事總是能夠引起另外一件事。
與其被一系列已知的未知所擾,不如學著接受這種情況。當意識到缺乏某種知識,可以選擇後續去學習。知道它存在並大概知道它是什麼,這意味著你可以決定在某個時候,如果可能的話,花費時間去學習這種知識。我們總是陷入選擇中,傾向於抗拒這種選擇卻又因為仍有那麼多不會的知識而抱有負罪感。這種糾結毫無意義,進行選擇比忽略所有可以學習的東西更好。
這種未知——你所不知道的知識——不能作為實際知識和技能的替代,但也絕不是毫無用處。
2.接受事情總是處在變化中
毫無疑問, Web 開發總在不停地衍變——更好的解決方案被共認,亦或是裝置效能增強等等。
無論現在 JavaScript 最前沿的技術是什麼,我敢說這個「前沿」絕對支撐不了3年。它們中的大多數會被長久的遺忘,也有一些會留存,但創新也許會圍繞我們甚至還不能想象的某些事情發生。
舉個例子,Angulai 1.x 現在仍然很強大並且會維繫數年,但圍繞它並沒有創新點。這種情況最終也同樣會發生在 React 或其他現今看來新奇的技術上。
我們也許並不希望這些發生,但這卻是不可避免的現實,你只能選擇去接受事情的持續變化或者停留在落後於前沿技術的拐點。任何一種選擇都是有效的,但也都要付出成本。無論如何,變化是持續的,試圖阻止這種變化往往收效甚微。
3.理解一切都有價值
無論你選擇將時間用在哪種框架或者技術上,付出終究會得到回報,即使它不是最正確的那一個。你所學習的一切都在幫助構建你頭腦中的神經元網路,會幫你建立某種聯絡使你在後續學習其他東西時更加容易,瞭解一種知識能夠使你跟其他知識進行比較和對比。因此,學習總是有用的,無論學什麼。
這還意味著焦慮地去尋找一種正確的框架或技術用來學習並沒有想象中那麼重要。不僅僅是因為所謂的正確的框架或技術很難確定,而且在很多情況下它們並不是一開始就存在的。相反,尋找有用的知識顯然更為簡單,它們無所不在。你也許可以學習一些看起來有趣的東西,即使它並不是絕對正確的東西。
舉個例子,我花費了數年時間學習多種 Ruby 技術並且利用 Ruby 和 Rails 做 App,而在今天我用不到它們,甚至不確定以後是否會用。那麼,這是否意味著我花費的那段時間一無所獲?我不這麼認為。那些技術不僅在當時很有用,並且所有在當時學過的東西形成了我現在的編碼風格。我非常希望這種情況也最終發生在我現在學習的工具上。
那麼,如何去擺脫因尋找正確框架所產生的焦慮感?在這裡你不妨去尋找也許此時並不那麼有用的知識——尋找一篇有趣的電腦科學論文並探索其中的觀點,或者花時間在並不能直接應用於所做之事的技術上。你從這些地方得到的收益也許並不那麼明顯,但它們真實存在並會在不經意的地方顯現。暫時擺脫激烈的框架選擇也能夠讓人振奮。
4.學會學習
另一種有效的方法是迴歸本源,僅僅將時間花在學會學習上。為什麼不練習解決問題這一過程本身,或者像刻意練習一樣去研究技術。類似行為將有助於瞭解職業真正能帶來什麼。
這是 Rich Hickey 對此的看法:
你需要仔細辨識事情的本質。精通程式設計不在於語言、範例、平臺、構建模組、開源、會議等。這些都是隨著時間變化的基礎知識,汲取知識的能力能夠使你按需使用。我更願意選擇具備良好學習技巧和解決問題能力的程式設計師,而不是任何時候只汲取淺顯經驗的程式設計師。
就像學習新框架很有價值,學會學習很顯然能獲得更大的回報。善於學習和解決問題,將會使你遇到更少的麻煩,不論接下來你會需要什麼樣的新技術。
原文連結:Overcoming JavaScript Framework Fatigue
本文系 OneAPM 工程師編譯整理。OneAPM 是應用效能管理領域的新興領軍企業,能幫助企業使用者和開發者輕鬆實現:緩慢的程式程式碼和 SQL 語句的實時抓取。想閱讀更多技術文章,請訪問 OneAPM 官方部落格。
相關文章
- JavaScript 疲勞症JavaScript
- 密碼疲勞密碼
- 一個治癒 JavaScript 疲勞的學習計劃JavaScript
- JavaScript 疲勞終極指南:我們行業的真相JavaScript行業
- 如何在疲勞的JS世界中持續學習JS
- 坦然面對:應對前端疲勞前端
- 人工智慧如何防止資料洩露後的疲勞現象人工智慧
- python疲勞駕駛睏倦低頭檢測Python
- 出現程式設計疲勞?千萬別糾結程式設計
- 打工人的疲勞和壓力,別人不懂 AI 懂AI
- 程式設計師擺脫疲勞的 11 個建議程式設計師
- 中科信ANSYS高階疲勞分析技術培訓課程
- 人眼疲勞檢測之opencv人眼檢測xml說明OpenCVXML
- 2021年全球最疲勞國家指數(附原資料表)
- MIUI 12帶有閱讀模式,可防止小米使用者的眼睛疲勞UI模式
- 避免警報疲勞:每個 K8s 工程團隊的 8 個技巧K8S
- AI每日精選:滴滴嘗試應用AI技術分析司機的疲勞狀態AI
- 多年前端開發程式設計師論述:這些必然的前端疲勞前端程式設計師
- [譯]新手開發如何克服焦慮?
- 程式設計師如何克服焦慮?程式設計師
- 程式設計師如何克服拖延症程式設計師
- 優質遊戲廣告能抗9周不疲勞!想買量需瞭解常識遊戲
- 業務分析師如何克服分析僵局? -modernanalystNaN
- 《應用心理學雜誌》:研究稱工作中的“微休息”可以提高參與度 減輕疲勞
- 大平臺為治癒 “巨頭疲勞症” 紛紛推出心機小功能,可這真的能解渴麼?
- 專案進度延誤該如何避免和克服?
- 我為什麼感謝JS疲勞。我知道你會很反感這些字眼,但是這次和以往不同。JS
- 如何克服解決Git衝突的恐懼症?(序)Git
- 新 Uber 司機端是如何克服網路延遲問題
- 如何克服 Apache Kafka中的資料順序問題 - DATAVERSITYApacheKafka
- JavaScript運動框架JavaScript框架
- SAP Cloud for Customer框架是如何使用JavaScript Promise的Cloud框架JavaScriptPromise
- 運維,漫長,疲憊運維
- 克服命令列恐懼症命令列
- 如何克服解決Git衝突的恐懼症?(Git分支策略)Git
- JavaScript 教程之JavaScript常用框架簡介JavaScript框架
- 遊戲創業者如何克服困難,控制焦慮情緒,走向成功遊戲創業
- 如何克服解決Git衝突的恐懼症?(Git高階篇)Git