讓開發(fā)人員變平庸的八個習慣,看看你中了幾條
對JavaScript開發(fā)人員來說,如今是最好的時代,各類框架和庫源源不斷地快速涌現(xiàn),而且其中很多都已開源化。目前,人們開始投入大量時間和精力開發(fā)JavaScript,用以解決生活中的許多實際問題。但一旦投入過多,開發(fā)人員極有可能在不知不覺中毀了自己,也毀了未來。
以下是阻礙JavaScript開發(fā)人員未來職業(yè)生涯的八個習慣:
1. 使用jQuery
在JavaScript生態(tài)系統(tǒng)的發(fā)展過程中,jQuery至關重要。
JavaScript最初只用于幻燈片展示和有趣小部件的制作,例如網(wǎng)頁中的日期選擇器和圖片庫等。但由瀏覽器來提供不同行為往往會出現(xiàn)一些問題,而jQuery可以運用抽象層來推動標準化,還可以為常見問題(例如DOM操作中出現(xiàn)的問題)提供一切解決方法,這有助于簡化AJAX,并解決不同瀏覽器差異造成的問題。
但如今,JavaScript和jQuery之間的聯(lián)系已經(jīng)不再那么緊密了。jQuery最突出的功能,例如獲取和選擇器API,已經(jīng)在瀏覽器中實現(xiàn)了標準化。
jQuery所要解決的問題(除了目前面臨的例如狀態(tài)管理這樣的問題),其實和React等現(xiàn)代庫所要解決的問題是一樣的。
開發(fā)人員總會用jQuery做一些莫名其妙的事,比如將DOM元素設為目前狀態(tài)或數(shù)據(jù),然后寫出極度復雜的代碼,既要為DOM順利轉換到下一狀態(tài)提供方式,還要為了確定該元素之前、現(xiàn)在和未來的狀態(tài)。
多了解React、Vue和Angular這些人們正在使用的現(xiàn)代庫,它們給Web應用程序帶來了許多益處。
2. 不鍛煉
也許只有親身經(jīng)歷過,你才能了解忽視健康所造成的一系列嚴重后果。
如果不鍛煉,你將在變胖的過程中面臨許多毀滅性的健康風險。包括:
- 攝入的超額卡路里轉化成脂肪
- 偏頭痛(包括慢性)風險增加
- 體重增加引起的血壓上升增加心臟壓力
以上只是一小部分,不鍛煉帶來的風險其實是無窮無盡的。
3. 在社會中孤立自己
家庭和愛人非常重要。
在學習JavaScript時,如果把自己孤立于社會生活之外,相當于在損害自己的生理和心理健康,不僅會增加壓力和焦慮感,還會造成失眠和體重下降,使人身心疲憊,意志消沉。
4. 不進行測試
有些開發(fā)人員在寫Web應用程序時經(jīng)常跳過單元測試環(huán)節(jié),雖然暫時不會有問題,但意料之外的錯誤很可能在某一時刻出現(xiàn),將整個應用毀之一炬。時間和金錢就這樣被浪費,小問題演變成了大問題。
代碼能夠在沒有錯誤的情況下順利編譯,應用程序能夠在沒有控制面板警告的情況下順利運行,并不代表這程序可以正式投入使用。
對小應用來說,缺少任一環(huán)節(jié)的測試可能并沒有影響,但一旦應用規(guī)模變大,控制難度增加,測試對整合應用來說就變得至關重要,已有代碼的任何變動都可能損壞應用的另一部分。
想要節(jié)省將來做大項目的時間,整合測試將大有裨益。
5. 先學習框架,再學習JavaScript
初學者剛接觸Web應用程序開發(fā)時往往急不可耐,立馬開始用流行的庫和框架,例如React、Vue和Angular,這是可以理解的。
作為一個初學者,相比直接學習工具,最好的方法其實是一邊學習工具一邊學習JavaScript。JavaScript生態(tài)系統(tǒng)正以燎原之勢發(fā)展,要想在市場中占據(jù)一席之地,至少必須具備React、Vue和Angular等工具的一些使用經(jīng)驗。
舉個例子,在Indeed招聘網(wǎng)站上搜索了“JavaScript”,以下是第一條結果:
在這份職位描述中,應聘者必須具備jQuery和JavaScript的使用經(jīng)驗,所以在這家公司里,jQuery和JavaScript地位相當。
另一份職位描述有以下幾項“基本”要求:
很多崗位不僅要求掌握JavaScript,也要求掌握JavaScript的衍生工具。不過,現(xiàn)在并不建議初學者花一半時間學習JavaScript,一半時間學習你選擇的庫,更好的安排是花65%的時間學習JavaScript,花35%的時間學習相應的前端庫或者框架。
這樣安排時間有利于初學者在學習“真正”的JavaScript的同時,也能學習流行的前端框架,擴展自身構建前端Web應用程序的能力,同時也能輕松自如地參與一些有關React或Vue等熱門話題的討論。
6. 沒有盡早學習整潔代碼的編寫準則
對每一個職業(yè)開發(fā)人員來說,保持代碼的整潔都是必須,而在職業(yè)生涯早期就開始學習整潔代碼的編寫,也將十分有益。越早接觸這些編寫準則,也就越早掌握編寫更整潔、更易維護的代碼的能力。
對于較晚進入行業(yè)的開發(fā)人員來說,學習如何編寫更整潔的代碼并不如“先學習JavaScript再學習框架”那么有用。但如果能夠自主學習整潔代碼的編寫,初學者就不必“模仿”其他JavaScript開發(fā)人員的編寫習慣,然后寫出丑陋的代碼,相反,他們只會因為其他人寫的丑陋代碼而感到沮喪。
7. 太早接觸大項目
很多人在職業(yè)生涯中犯得最嚴重的錯誤之一,就是開始著手一項大規(guī)模項目。
“這又怎么了?”讀者可能會問。
非中高級開發(fā)人員很有可能無法在短時間內完成“大項目”,尤其是對于初學者來說,如果還未接觸過編寫整潔代碼、測試程序、可伸縮框架等方面的最佳實踐,那么在大項目中要考慮的因素實在太多,尤其是如何保證應用程序的穩(wěn)定性。
對于正在踏入中級階段的開發(fā)人員來說,如果他們發(fā)現(xiàn)自己寫的應用程序不能正確運行,其中許多代碼需要重寫時,會發(fā)生什么?在市場中,中級開發(fā)人員的就業(yè)機會其實很豐富,但他們卻無法在履歷中列出一些體面的項目,因為他們還疲于原有的大項目。當其他開發(fā)人員在面試中搶占了榮耀時,他們不得不開始懷疑是否真的應該繼續(xù)手頭的大項目。因此,更好的做法是從一些小項目入手,因為這些項目可以寫進履歷中。盡快豐富履歷,也許下一秒機會就會出現(xiàn)。
太早接觸大項目的另一個問題是,如果初學者未曾參與過最佳實踐,未曾學習正確的功能建構模式,將來必定需要重構或丟棄這一大堆代碼,而到那時,最好的解決方法或許只能是全部推翻重寫。當然,你也可以選擇直接放棄,把現(xiàn)有代碼直接放進簡歷中,但面試官一定會對這些代碼做出嚴厲的負面評價。
8. 不學習數(shù)據(jù)結構和算法
人們對于應該何時開始學習數(shù)據(jù)結構和算法這一問題往往爭論不休。有人建議先學習數(shù)據(jù)結構和算法,再學習JavaScript,也有人建議先學習JavaScript,再學習數(shù)據(jù)結構和算法。
初學者其實沒有必要學習數(shù)據(jù)算法和結構,但接觸算法也是好的,因為這有利于初學者初步了解計算機程序和計算。在任何計算機程序和計算中,算法都是必不可少的部分,事實上,計算機程序只是一堆算法和一些復雜結構化數(shù)據(jù)的集合體,僅此而已。