自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

如何成為一個(gè)偉大的 JavaScript 程序員

開(kāi)發(fā) 前端
遙想當(dāng)年還年少的時(shí)候,我的興趣愛(ài)好就跨越了各種不相關(guān)的領(lǐng)域。我喜歡數(shù)學(xué),如同我深愛(ài)歷史那樣。我的目標(biāo)是成為像文藝復(fù)興時(shí)期多才多藝的偉人那樣——在多個(gè)領(lǐng)域都有出色表現(xiàn)。這是一個(gè)艱巨的任務(wù)——突然之間我發(fā)現(xiàn)自己正面臨著“樣樣皆通,樣樣稀松”的危險(xiǎn)。

遙想當(dāng)年還年少的時(shí)候,我的興趣愛(ài)好就跨越了各種不相關(guān)的領(lǐng)域。我喜歡數(shù)學(xué),如同我深愛(ài)歷史那樣。我的目標(biāo)是成為像文藝復(fù)興時(shí)期多才多藝的偉人那樣——在多個(gè)領(lǐng)域都有出色表現(xiàn)。這是一個(gè)艱巨的任務(wù)——突然之間我發(fā)現(xiàn)自己正面臨著“樣樣皆通,樣樣稀松”的危險(xiǎn)。

我開(kāi)始考慮鉆研某些領(lǐng)域,這樣至少我還可以成為一個(gè)“精通某些領(lǐng)域”的人。那么我該怎么做,才能既專注于某個(gè)領(lǐng)域,同時(shí)又能學(xué)到軟件開(kāi)發(fā)所需的大量知識(shí)?

這篇文章主要概述在我5年工作經(jīng)驗(yàn)的基礎(chǔ)上,我成為優(yōu)秀JavaScript開(kāi)發(fā)人員所使用的技術(shù)和資源。

當(dāng)前大多數(shù)Web開(kāi)發(fā)人員面臨著這樣一個(gè)共同的問(wèn)題:他們必須在多個(gè)不同的領(lǐng)域領(lǐng)先于他人——從數(shù)據(jù)庫(kù)到后端架構(gòu),到前端用戶界面,再到使用良好的CSS知識(shí)修正用戶界面。

閱讀書籍

首先,也是最重要的一點(diǎn)是,你必須付出努力才能脫穎而出。雖然你也可以在無(wú)心中獲得點(diǎn)點(diǎn)滴滴的積累,例如,不時(shí)地閱讀一些博客文章,而且老實(shí)說(shuō),因 為這種方法最初的時(shí)間和精力的投入要求低得多,所以更簡(jiǎn)單。這樣的學(xué)習(xí)模式顯然比你專門和刻意的學(xué)習(xí)過(guò)程要花費(fèi)更多的時(shí)間。關(guān)于這種窘境的解決方式也很簡(jiǎn) 單:閱讀書籍。

[[137869]]

書籍是人類進(jìn)步的階梯。文字是我們讓知識(shí)以濃縮的形式代代相傳的工具。成為Web技術(shù)專家有一個(gè)要解決的問(wèn)題是,你必須學(xué)會(huì)何時(shí)遠(yuǎn)離網(wǎng)絡(luò)本身。網(wǎng)絡(luò)本身就存在著讓人混亂和分心的內(nèi)容,所以我要給出的第一個(gè)建議是,要閱讀相關(guān)主題的書籍。

對(duì)于JavaScript中,可以先從以下書籍開(kāi)始:《JavaScript the Good Parts》就像是JavaScript中的《圣經(jīng)》。雖然這本書已經(jīng)有點(diǎn)古老了,但依然是最好的起始點(diǎn)?!禞avaScript: the Definitive Guide》也是我們必需的,雖然你可能會(huì)將它當(dāng)作是參考書。 jQuery創(chuàng)始人John Resig的《Secrets of the JavaScript Ninja》也值得關(guān)注。此外,你還可以閱讀電子書,非常方便,很多在線電子書還是免費(fèi)的。另外,JavaScript Guide雖然不是書,但深受 Mozilla開(kāi)發(fā)人員的信賴和青睞。

腳本庫(kù)的學(xué)習(xí),使用和閱讀

接下來(lái)最重要的一個(gè)步驟是去了解腳本庫(kù)。書籍教你如何讀懂語(yǔ)言,庫(kù)教你如何應(yīng)用它。關(guān)于腳本庫(kù)你需要做這兩件重要的事情:使用它們,閱讀它們的源代碼。

對(duì)于庫(kù)的使用,需要了解以下幾個(gè)重點(diǎn)的庫(kù):jQuery,Backbone,underscore以及React、 Angular和Ember之一。這并不是說(shuō)你必須要使用這些庫(kù),但任何像樣的JavaScript開(kāi)發(fā)人員至少應(yīng)該有一定的使用這些庫(kù)的經(jīng)驗(yàn)(無(wú)論好 壞)。

提升JavaScript技能的第二件重要的事情是閱讀這些庫(kù)的源代碼。我強(qiáng)烈建議閱讀Backbone和underscore的源代碼,因?yàn)樗鼈?寫得非常優(yōu)美。閱讀和理解underscore可以提高函數(shù)式編程的技巧。另一個(gè)值得閱讀源代碼,也是其他開(kāi)發(fā)人員推薦給我的庫(kù)是mootols(我個(gè)人 并不使用mootools,也沒(méi)有閱讀過(guò)它的源代碼。)

剩下的庫(kù),如React和Ember等,理解起來(lái)可能很難,但非常值得。此外還應(yīng)該瀏覽一下其他庫(kù)的源代碼,看看它們是如何構(gòu)建代碼庫(kù)的,并嘗試探索一些新的模式。其他著名的可使用和閱讀其源代碼的庫(kù)包括D3、highcharts和moment.js。

練習(xí)與自問(wèn)問(wèn)題

要成為一個(gè)好的JavaScript開(kāi)發(fā)人員的關(guān)鍵步驟是練習(xí),許許多多的練習(xí)。理想的情況是,練習(xí)的重點(diǎn)不在于DOM,而在于語(yǔ)言,所以一定要確 保有一個(gè)可以運(yùn)行node.js的測(cè)試工具。做各種瑣碎又大量的node.js練習(xí)。研究編碼招式,經(jīng)歷使用JavaScript的不同方式:閉包,原 型,擴(kuò)展數(shù)組(map、filter)等。在做練習(xí)的同時(shí),要開(kāi)始在腦中形成JavaScript的基本思想。

[[137870]]

我的一個(gè)朋友,Armagan,一位優(yōu)秀的JavaScript程序員,也是一個(gè)使用《Pro JavaScript Design Patterns》用于講座的老師,所以這本書值得一閱。

在學(xué)習(xí)的同時(shí),要試著回答一些問(wèn)題,例如:原型如何繼承工作?閉包的定義?關(guān)鍵字含義如何改變?如何使用apply/bind/map /filter/call?收集一系列JavaScript開(kāi)發(fā)人員需要面臨的共同源要點(diǎn),并試著用自己的話來(lái)解釋。用書面或口頭的形式向另一個(gè)人解釋這 些概念,有利于極大地提高你的技能。在練習(xí)的同時(shí),盡量去思考“如果是那種情況,又該如何?”的情景。例如,“如果我使用兩次bind,那個(gè)這 個(gè)”this“會(huì)是什么意思?jQuery如何確保this關(guān)鍵字指向jQuery對(duì)象,而不是全局對(duì)象?這個(gè)庫(kù)如何完成一定的功能?”等等,這些都是你 應(yīng)該時(shí)常問(wèn)問(wèn)自己的常見(jiàn)問(wèn)題。

學(xué)習(xí)標(biāo)準(zhǔn)

接下來(lái)需要了解的是EcmaScript標(biāo)準(zhǔn)。研讀最新的EcmaScript標(biāo)準(zhǔn)副本。同時(shí),還可以試著了解JavaScript中即將推出的功 能,如ES6和ES7。近期已經(jīng)出現(xiàn)了例如promises、modules、generators、comprehensions等新功能,好好閱讀標(biāo) 準(zhǔn),也可以閱讀專業(yè)書籍,如Nicholas Zakas的《Understanding EcmaScript 6》或Axel Rauschmayer博士的《Exploring JS》,或許會(huì)有所幫助。從主要源學(xué)習(xí)標(biāo)準(zhǔn)以及探索新增的語(yǔ)言才是通往專業(yè)化道路的途徑和方法。

利用網(wǎng)絡(luò)資源

我前面提到過(guò)利用網(wǎng)絡(luò)來(lái)了解網(wǎng)絡(luò)是危險(xiǎn)的,但是現(xiàn)在我要提議的是我們還可以利用網(wǎng)絡(luò)來(lái)獲取最好的資源?!禜acker News》就是一個(gè)很好的來(lái)源,但是持續(xù)的跟蹤通常會(huì)耗費(fèi)更多的時(shí)間,因?yàn)檎嬲杏玫男畔⒈壤呛艿偷?。相反,還不如直接瞄準(zhǔn)每周摘要如 《JavaScript weekly》呢。隨著時(shí)間的推移,你自然會(huì)領(lǐng)悟到哪些庫(kù)或技術(shù)越來(lái)越有吸引力??梢栽赥witter上找找有影響力的JavaScript開(kāi)發(fā)人員。 其他的網(wǎng)絡(luò)資源包括博客如Toptal Blogs、Rebecca Murphey’s blog和Nicholas Zakas’ blog等。

另一個(gè)非常重要的網(wǎng)絡(luò)資源是視頻會(huì)議和教育視頻。說(shuō)到會(huì)議,JSConf系列的品質(zhì)就很高。至于教育視頻,我強(qiáng)烈建議Pluralsight,因?yàn)樗麄冇兄帉懜哔|(zhì)量課程經(jīng)驗(yàn)的開(kāi)發(fā)軍團(tuán)。

簡(jiǎn)而言之

  • 讀書,書中自有信息之精華。

  • 了解基本的庫(kù),如jQuery、underscore和Backbone,閱讀源代碼。

  • 練習(xí),試著用自己的話去解釋常見(jiàn)的JavaScript概念,例如繼承。就上述主題做演講和講座。

  • 通讀新版本的標(biāo)準(zhǔn),使用最新增加的語(yǔ)言。

  • 利用網(wǎng)絡(luò)資源,查看摘要和博客,以及視頻會(huì)議和教育視頻。

結(jié)論

不斷重復(fù)上述步驟,并參與到大量的項(xiàng)目中去有助于你快速提高你的JavaScript技能。但始終要牢記,只有付出才會(huì)有回報(bào),才會(huì)有望成為專業(yè)人 士。我自認(rèn)為自己是一個(gè)很好的JavaScript程序員,但是要想成為專業(yè)人士我依然還有很長(zhǎng)的路要走,還需要不斷地學(xué)習(xí)和掌握知識(shí)和技術(shù)。

最后祝學(xué)習(xí)快樂(lè),愿與君共勉!

譯文鏈接:http://www.codeceo.com/article/how-to-become-a-great-javascript-developer.html
英文原文:How to Become a Great JavaScript Developer

責(zé)任編輯:王雪燕 來(lái)源: 碼農(nóng)網(wǎng)
相關(guān)推薦

2015-06-25 19:23:03

JavaScript程序員

2015-06-25 09:53:13

JavaScript程序員

2011-11-09 13:52:04

程序員

2015-05-13 14:06:03

程序員糟糕的程序員

2009-07-02 09:42:34

JSP程序員

2010-12-27 09:24:45

JSP程序員

2015-04-30 10:51:37

程序員高效快樂(lè)

2015-04-30 08:41:04

程序員高效健康

2013-07-18 09:58:18

C++程序員

2015-06-10 10:43:07

2015-05-13 10:42:21

程序員代碼

2016-03-23 10:18:47

女程序員

2011-06-02 10:23:33

程序員

2020-02-22 21:51:43

程序員Microsoft SServerSQL

2015-08-24 09:02:49

前端工程師

2015-07-28 09:17:23

程序員CEO

2009-03-20 10:19:12

程序員編程職場(chǎng)

2015-12-30 11:10:24

高級(jí)C++程序員

2016-04-21 17:50:26

程序員優(yōu)秀程序員

2014-01-06 09:33:32

程序員管理
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)