javascript
关于JavaScript,这10条血与泪的建议大家一定要看
(注:本文翻譯自國外著名雜志Noteworthy,文章在Medium編程類目沖上了一周熱榜的榜首,本文版權歸原作者The Cat with a Dragon Tattoo所有)
使用JavaScript是一種冒險。前端項目,給我們程序員們很多自由選擇,讓我們更加靈活并且具有創造力。但與此同時,也需要更多的知識,良好的計劃和責任感。在使用 jQuery, require.js, Angulars, React, ExtJs等等經歷過各種項目之后,我遇到過許多難以想象的事情,經歷了血與淚的教訓。或許,在某些點上,大家都遇到過或將來都會遇上。
但總有一些方法,能夠讓最難以處理的項目也變得可控。以下10點都來自我的個人教訓,希望能夠給大家帶來幫助。
1. 各個擊破
大家可能都聽過這個方法,但是似乎被很多人低估了。CommonJS, Webpack, and Node都使我們能夠將代碼分到多個文件中,當我們似乎從來不Care這一點?
連貫性:隨著代碼庫的不斷增大,把你的項目分開到多個single-export文件中,能夠讓搜索和從屬管理變得異常簡單。
2.簡單化
給每個變量,每個函數,每個文件起一個易懂的名字,要像給你兒子起名字一樣對待。因為你可能花0.3秒隨便叫一個變量“X”,過段時間你需要花2天去搞清楚這到底是啥意思。三思而后干,別怕名字太長。
或許你的方法非常聰明而且復雜,你的同事們也都夸你牛;但未來你們可能要用很長時間來搞清楚這段代碼的邏輯。專注于把事情簡單化,能讓你甚至不需要注釋。
3. 不要用奇葩的數字或字符串
就像命名一樣,無論這個值看起來多么無關緊要,都要起一個有意義的名字。因為在大多數情況下,任何寫進代碼里的確切值都會被用到。
4.不要嵌套的太復雜
如果你一行代碼超過120個字符,或者所有代碼超過500行,再或者你的If函數重疊了好幾層,一定要想辦法把他們分開。
你可以把過分嵌套的If函數拆分成獨立的Functions, Promises, 或者Observables。如果你經常使用異步調用,async/await可以大大簡化你的代碼。
5. 配置問題
如果你的應用使用國際值,API端點或者第三方證書等,盡量把他們放進單獨的配置文件。網上有大量的包可以幫助你同時在線上和本地管理配置文件。有時候你的應用可能會在本地和服務器同時部署。
6.合理使用框架
很多時候你看到別人用框架的原因,要么是因為那個框架很火,或者因為會用所以用。
多花點時間想象,你的項目是否需要框架,如果需要,需要什么樣的框架?因為用戶不會關心你的應用是不是用Github上有10000+星星的火爆框架做的。
7. 寫測試代碼
Unit測試,Smoke測試,Sanity檢查等等,除非你的項目只是一個原型,很快就要重寫,那么你真的需要寫測試。隨著你的代碼量不斷增加,維護起來會非常困難,這時候測試會幫你大忙。
或許有一天,你會遇上Bug,那時候你會看著藍天白天,感謝自己之前寫了測試。
8. 版本控制
無論是一個原型,大型企業應用,還是人畜無害的業余小項目,都記得用版本控制。
版本控制就像時光機一樣,能讓你穿越回過去,挽救崩潰的東西,看清是什么改變導致的問題。如果你從本文只學到一點點東西,希望這點東西是學會基礎的版本控制,并且在每天代碼中實踐。
9.狀態管理
找一個好點的狀態管理的庫,然后愛它就像愛生命一樣。因為有時候真的能救你一命。
作為前端開發,通常面臨兩個最大的挑戰:展示數據和存儲數據。存儲數據會隨著時間推移越來越困難,這一點很容易被人忽視,直到你的項目變得幾乎無法去維護了。
10. 質疑的精神
從各種社區論壇不斷學習,但是也要思考并質疑你接觸到的東西,每條評論,每篇技術文章,甚至是本文。保持開放的心態,學著去接受新的方法。但絕不要為了跟風而去跟風。
用舊一點的、但更加成熟的框架通常更加穩定。遇到問題也更容易得到解決。新的趨勢可能會提升一點你的程序性能,但決不能以犧牲穩定性為代價。
總結
以上是生活随笔為你收集整理的关于JavaScript,这10条血与泪的建议大家一定要看的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: vue-cli3全面配置详解
- 下一篇: 给大家推荐12款好用的3D编辑器