如何高效學(xué)習(xí)編程

編程確實不是一件容易的事情,除了要有較強(qiáng)的邏輯思維,還需要花大量的時間和集中力來提升或者維持一定的高度

與其他的領(lǐng)域不一樣的是,技術(shù)每日都在變,所以對于編程初學(xué)者是很難一直與時并進(jìn)的。就算是技術(shù)大神和老司機(jī)們也是追趕的比較吃力的。在技術(shù)領(lǐng)域打滾的這些年里,通過經(jīng)歷和經(jīng)驗總結(jié)出一些高效的學(xué)習(xí)方式和方法,在這篇文章里與大家分享。讓我們現(xiàn)在就在技術(shù)領(lǐng)域的學(xué)習(xí)之路上奔跑吧!

鎖定目標(biāo),風(fēng)雨兼程

在剛剛接觸技術(shù)的時候,很多人都會比較迷茫。技術(shù)領(lǐng)域有前端后端并且各自有多種編程語言。選定前端后端后又發(fā)現(xiàn)越過一山還有一山高,面臨更多的選擇。甚至在技術(shù)領(lǐng)域打滾了多年后的技術(shù)人員也會迷茫,會開始質(zhì)疑自己的前景,是否要換一門語言或者多學(xué)幾門語言。所以鎖定目標(biāo)是高效學(xué)習(xí)的第一門課。


選擇目標(biāo)

如果你的目標(biāo)是前端開發(fā),前期的學(xué)習(xí)道路是比較明確的,HTML5+CSS3起步。但是如果你的目標(biāo)是后端開發(fā),還沒有開始就已經(jīng)有多扇門在你前面,讓你瞬間選擇困難了。所以這里我們就用后端語言選擇作為一個例子講解學(xué)習(xí)目標(biāo)選擇方法。

陷入學(xué)習(xí)目標(biāo)選擇困難癥是因為技術(shù)每日每夜都在變,方向和未來都在搖擺。但是我們首先要有一個對技術(shù)有很好的判定能力。

大家應(yīng)該很多時候都聽過"JAVA才是世界上做好的語言","PHP才是世界上最好的語言"等等,這些在自己領(lǐng)域崇拜著自己所愛的語言技術(shù)愛好者。TA們并沒有錯,因為每個開發(fā)語言都在特定領(lǐng)域或者項目條件里是最好的語言。不過并沒有世界上最好的語言,只有在某一個場景和條件下最適合使用的語言。每一種開發(fā)語言都有他擅長最合適的使用場景。

  • PHP?-?更適合小型到中型網(wǎng)頁端應(yīng)用(大型應(yīng)用就需要其他語言配合使)
  • JAVA?-?更適合大型應(yīng)用,企業(yè)級應(yīng)用(中小型應(yīng)用用JAVA就是大材小用,浪費資源)
  • PYTHON?-?更適合用于爬蟲,人工智能,腳本類應(yīng)用

目標(biāo)尋找法

所以在選擇學(xué)習(xí)目標(biāo)的時候,我們要有對技術(shù)的判定能力,不要輕易聽取一些偏面的評價和定論而下決定。

選擇學(xué)習(xí)目標(biāo)時重要的決定因素:

  • 在目前最實用的 - 學(xué)能用到的更容易上手,也更有價值
  • 難度跨度不要太高 - 難度跨越太大時間成本會越高
  • 感興趣的 - 感興趣才更能堅持,更有動力
  • 社區(qū)更大的 - 社區(qū)越大遇到問題時找答案的途徑越多
  • 開源項目優(yōu)先 - 開源的項目的技術(shù)更有未來

?? 一旦鎖定一個目標(biāo)就要能懂,能用,能變,再擴(kuò)張你的學(xué)習(xí)領(lǐng)域到其他的技術(shù)。

  • 能懂? - ?能懂的技術(shù)或者知識的理論和原理;
  • 能用 ?- ?能把技術(shù)或者知識投入使用,投入實戰(zhàn)項目;
  • 能變 ?- ?能舉一反三學(xué)到的技術(shù)或者知識,能變通,延伸拓展。

不要蜻蜓點水

這一點是很多初學(xué)者都會犯的錯誤。

不要淺入淺出,得不到技能還失去了時間。

學(xué)習(xí)要一步一個腳印,很多一開始學(xué)習(xí)編程往往會同時學(xué)習(xí)多個技術(shù),其實這種學(xué)習(xí)方式不但沒有效果反而還浪費時間浪費生命。鎖定一個學(xué)習(xí)目標(biāo)就要專注一個點上學(xué)習(xí),重點學(xué)習(xí)。

舉個例子,如果你想成為一個Java開發(fā)工程師,你是不需要從C學(xué)起,然后C++,最后才開始學(xué)習(xí)Java。我看到很多開發(fā)者剛開始都是這樣學(xué)習(xí),其實根本不需要從底層技術(shù)開始學(xué)習(xí)。既然你的學(xué)習(xí)目標(biāo)是Java,那就直奔重點不浪費時間。穩(wěn)固了基礎(chǔ)開發(fā)語言后,選擇一個框架開始深入專業(yè)實戰(zhàn)知識。當(dāng)你穩(wěn)固了更專業(yè)的實戰(zhàn)知識后,就可以開始學(xué)習(xí)這個技術(shù)的周邊工具(比如IDE)讓開發(fā)更加高效便捷。

?? 專研秘訣:

  • 學(xué)習(xí)每一個知識或者技術(shù),一定要深入淺出,深入學(xué)習(xí)和挖掘,吸取重要知識和技術(shù)。
  • 專心,專注,專研是一個技術(shù)人才的基本素養(yǎng)!

先專注于會用而不是能用

很多開發(fā)者習(xí)慣性會過于專注于工具使用,寫法,性能,可擴(kuò)展性等等。初學(xué)者一般都會掉入工具使用和寫法的坑,而資深的開發(fā)者會過于專注于性能和可擴(kuò)展性。這時候往往會過度消耗學(xué)習(xí)時間,甚至忘記最初的學(xué)習(xí)目標(biāo)。

用一個簡單易懂的例子,"一個機(jī)械工程師不會浪費時間想怎么更好的使用TA的扳手,而是怎么可以組裝好一個機(jī)器的部件"?-?很多人會想,學(xué)會用更好的工具不是可以更快地安裝好嗎?但是現(xiàn)實是,你都還沒有弄懂怎么安裝,再好再有效的工具對你來說都是無用武之地。所以還沒有學(xué)會前行,就不要先想著怎么跑

再舉例,如果你是正在學(xué)習(xí)使用Vue框架,不要太過于執(zhí)著怎么使用Vue的周邊工具,高級寫法,性能隱患問題等等。你的目標(biāo)應(yīng)該是創(chuàng)建你的第一個首頁然后直接投入開發(fā)一個小項目小應(yīng)用。這樣你的產(chǎn)出才是最高的,因為這樣做更加專注于學(xué)會怎么使用Vue來實現(xiàn)功能,而不是更好的使用Vue框架。

在學(xué)習(xí)的時候要專注于會使用新的技術(shù),而不是怎么用各種花式技巧來提高使用能力

還有很多童鞋開始學(xué)一門技術(shù)時,會先開始看一大堆的知識和書籍,或者去看一些大型的項目用這個技術(shù)是怎么實現(xiàn)的。其實更有效的學(xué)習(xí)方式是小步快跑,學(xué)習(xí)的過程中開發(fā)一個小項目會讓你更加有動力也更有趣。

約定自己在限定時間內(nèi)完成小目標(biāo),如能完成就給自己一點小獎勵。例如,你對你自己說"如果我下周五完成這個功能,我就讓自己去看個電影"。記住獎勵不需要很大,小步快跑,小獎小利,這樣才能維持發(fā)自內(nèi)心的動力和驅(qū)動力。不過就算沒有達(dá)成小目標(biāo)也不用氣餒,失敗時成功之母,所有成功的人都是通過在失敗中總結(jié)成長壯大。

采用學(xué)習(xí)策略

每一個人都會有一種最合適自己的學(xué)習(xí)方式方法,適合我的不一定對你就有效?-?所以找到一種對你有效的學(xué)習(xí)方法很重要。

經(jīng)歷

學(xué)習(xí)方式方法是通過你日復(fù)一日,年復(fù)一年不停地嘗試和總結(jié)得來的一種技巧。我也嘗試過很多種方式來學(xué)習(xí)技術(shù),自從我開始進(jìn)入技術(shù)行業(yè)到現(xiàn)在,我換了無數(shù)種學(xué)習(xí)方式才找到最適合自己的一種技巧。
在一開始剛剛?cè)腴T的時候,我嘗試看很多"從入門到精通","XXX語言101"等等,最終的結(jié)果都是"從入門到放棄"。后面開始走視頻學(xué)習(xí)之路,發(fā)現(xiàn)視頻里面的老師說話好像是機(jī)器人一樣,本來有點失眠癥的,沒想到一看視頻秒睡著,被治好了!我以為我的技術(shù)生涯就要結(jié)束在這里了~ ˉ_(⊙︿⊙)_/ˉ

建立策略

前方無絕路 · 希望在轉(zhuǎn)角 ~ 我迅速改變了策略,學(xué)習(xí)技術(shù)和其他領(lǐng)域不一樣除了看書,擼視頻還需要動手去敲代碼。學(xué)習(xí)任何一門技術(shù),可以遵循以下學(xué)習(xí)策略,可以讓學(xué)習(xí)的技術(shù)和知識更加穩(wěn)固。

?? 學(xué)習(xí)策略:
還是遵循我們之前說到的規(guī)則,能懂,能用,能變。

  1. 深入了解技術(shù)的原理 -? 了解清楚才能更好的在不同場景下運用自如(可以通過看書,看文檔)
  2. 通過代碼理解運用方式 ?- 看懂基本原理,就可以看看別人是怎么在項目中使用的(在github找開源項目,看教學(xué)視屏等等)
  3. 實戰(zhàn),做一個小項目 - ?能懂,能會了就要能用,用新學(xué)的技術(shù)實現(xiàn)一個功能,做一個小項目,把知識投入實戰(zhàn)。
  4. 發(fā)揮你的想象力 ?-? 能用后如果想進(jìn)階更高層次,就要發(fā)揮你的想象力,能舉一反三,在你的小項目里面加功能。

其實上面的策略無非就是學(xué)習(xí)的過程中必須有的理論,運用和變通。這三個學(xué)習(xí)維度要保持一個良好的平衡。這個平衡是非常重要的,只有理論那就是"紙上談兵",只有理論和運用那只是個"代碼搬運工",如果三個維度你都才是就是"大師"。

當(dāng)然所說的平衡不是說1:1:1,完全平衡是很難的。對于一個初學(xué)者的話可以先3:2:1,中級就可以開始維持2:3:1,到了高級就可以維持2:2:2了。(比例指的是 - 理論:運用:變通)

時間管理,提高效率

番茄工作法估計很多人都聽說過,但是真正用上可能就很少了,能堅持使用的就更少了。

很多時候在學(xué)習(xí)中,或者工作中,我們都是被時間追著跑,這里看一下哪里看一下,不經(jīng)意就已經(jīng)過了幾個小時,一天就過去了。其實真正有效的產(chǎn)出不大,那是因為你沒有合理的管理時間。用番茄工作法就是可以讓我們可以追著時間跑,讓自己時刻有著時間感,急迫感。
自然時間運用上就更加有效了。我現(xiàn)在工作中和學(xué)習(xí)中都已經(jīng)在使用番茄工作法,有效管理時間效率。突然發(fā)現(xiàn)使用了之后,每個小時我的工作效率提高了很多。

使用方式其實很簡單,把學(xué)習(xí)或者工作時間拆分為25分鐘一個小階段,每25分鐘休息5分鐘,每4次小階段休息15到20分鐘。

使用這個時間管理法后,你會覺得在25分鐘的小階段里面,你的時間很緊迫的,每一分鐘你都覺得很寶貴。你會發(fā)現(xiàn)你沒有時間去浪費,自然而然的在25分鐘內(nèi)提高了效率。無形中你的學(xué)習(xí)和工作的集中力就會提升。除了提高了你的效率以外,你會發(fā)現(xiàn)一天幾個小時的學(xué)習(xí)或者工作都不覺得很疲憊。因為在25分鐘的高度集中后,你合理的調(diào)整了休息,讓自己非常平衡的控制好疲憊度。所以你會發(fā)現(xiàn)一天里面的學(xué)習(xí)和工作都變得輕松了。

用番茄工作法提高了學(xué)習(xí)效率和疲憊度,自然你的學(xué)習(xí)成果就會更高。如果你覺得我說的這個方法太虛幻了,不妨試一下體驗一下,實戰(zhàn)說明一切!

多思考,多教學(xué)

通常我們學(xué)習(xí)都用的是吸??大法 ???( ? ? ? ),然后實戰(zhàn)運用,其實還有很多細(xì)節(jié)和理論我們并沒有理解透測。所以運用就不夠自由,無法延伸一些創(chuàng)新的用法,或者舉一反三。

在我事業(yè)發(fā)展的過程中,從一個小開發(fā),做到一個小組長,到現(xiàn)在技術(shù)總監(jiān)。在我開始帶領(lǐng)一個小組,到帶領(lǐng)整個技術(shù)團(tuán)隊;很多問題和新知識都要通過講解或者教學(xué)來帶培養(yǎng)你的組員和隊員。這個過程中會遇到各種不同思維程度和學(xué)習(xí)能力的人,每一個人的理解能力或者理解方式都不一樣,甚至看待每一件事情或者知識的角度都不一。你會發(fā)現(xiàn)你教學(xué)或者講解某一個知識的時候需要使用各種不同的方式和方法。往往就是這樣觸發(fā)了你自己去換角度思考和理解這個知識,而啟發(fā)了你自己對這個知識新的認(rèn)知。

通過教學(xué)和講解來把你的知識傳承給另外一個人,需要重新整理思路,邏輯,切換N種方式和說法。這個過程中你會挖掘出新的知識,新的觀點,新的思維方式,新的理解角度和深度。這就是自我思維切換而達(dá)到的知識深度挖掘和提升的過程。這種就是我們經(jīng)常說的小黃鴨教學(xué)法。

不知道大家有沒有聽說過,當(dāng)你思路不清晰,或者有問題無法解決的時候。你可以找一只小黃鴨,你就開始講解你的思路,邏輯或者問題。這個過程中你開始重新整理自己的思路。如果你把一只啥都不懂的小黃鴨也能讓它聽懂。那這個時候你的思路,邏輯,理解都更加清晰了,問題起碼都解決了50%以上了。我給這個方法取了個名字叫小黃鴨教學(xué)法!初級學(xué)習(xí)的時候要用吸星大法,進(jìn)階到高級的時候就要用小黃鴨教學(xué)法。能教會一只小黃鴨技術(shù),你就是大神了!

記錄,總結(jié)

除非你是過目不忘,要不看完一本書能記下所有是不可能的。就算記住了但是不可能完全明白透徹。一個程序員經(jīng)常面對著反復(fù)又反復(fù)的任務(wù),記錄學(xué)習(xí)進(jìn)度和總結(jié)學(xué)習(xí)知識很重要。往往你學(xué)到一個知識的時候,你會使用這個知識投入實戰(zhàn)中。你沉迷在代碼海洋之中無法自拔之后,你會發(fā)現(xiàn)你已經(jīng)不記得你入海前學(xué)到哪里了。所以記錄學(xué)習(xí)進(jìn)度很重要。

記錄學(xué)習(xí)方式:

  • 把學(xué)習(xí)后的知識寫成文檔
  • 把知識寫成博客
  • 總結(jié)重點,記錄重點
  • 編寫學(xué)習(xí)規(guī)劃,就是所謂的todo規(guī)劃表

在學(xué)習(xí)中,如果要把知識記錄,當(dāng)你要使用它的時候能快速找到。那你就要有總結(jié)知識的習(xí)慣。把你學(xué)過的知識,技術(shù),技巧都寫成文檔,寫成總結(jié)。這樣加強(qiáng)你的印象,同時也整理出了屬于你自己的開發(fā)手冊。當(dāng)你遇到了某些問題的時候就可以通過你自己的開發(fā)手冊找到答案。

改掉以下習(xí)慣

  • 完美主義: 初學(xué)者經(jīng)常會陷入的一個坑,從一開始就追求完美,完美的寫法,完美的實現(xiàn)方式,完美的設(shè)計模式。其實有時候這些都不是最重要的,反而導(dǎo)致有延遲和延后的嚴(yán)重情況,導(dǎo)致進(jìn)度一直無法推進(jìn)。最求完美往往把簡單事情變得復(fù)雜。不要總是為了完美而無限徘徊,為了最好的解決辦法而糾結(jié),為了對的方式而浪費時間。往往在開發(fā)中,時間是有限的,需求是無限的,連完成都無法保證,就更沒有時間追求完美。
  • 對比心態(tài):很多行業(yè)內(nèi)的新人或者準(zhǔn)備入行的,都會去和行業(yè)內(nèi)頂尖的人做對比。有一句很火的話"沒有對比就沒有傷害",很多人用來對比好與壞,美與丑。其實另外層意思就是如果對比會對你自身造成打擊又何必常常帶著對比之心來對待自己和事情呢?對比不一定會有傷害,但是對比的心態(tài)才是真正造成傷害的源頭。應(yīng)該先認(rèn)可自己的優(yōu)點,接受自己的缺點,然后去找到別人的優(yōu)點,發(fā)現(xiàn)別人的缺點。在別人的優(yōu)點和缺點給自己帶來成長。吸收別人優(yōu)點,避免自己養(yǎng)成了同等的缺點。優(yōu)秀的人不是天生比你優(yōu)秀,而是TA們更懂的不自我透支,更懂得養(yǎng)成在無形之中讓自己成長的習(xí)慣。
  • 復(fù)雜化:學(xué)會把復(fù)雜的問題和事情拆分成多個小問題小事情。復(fù)雜的問題和事情就會變得更加簡單。因為問題和事情往往有多個點需要突破,把每個點拆開逐個突破就會更加簡單輕松。從簡到繁,如果太復(fù)雜,就拆開一個一個更簡單的小點,逐個突破。
  • 過度透支:學(xué)習(xí)累了就躺穿上休息,吃飽喝足了就堅決不吃了。養(yǎng)好一種自律的習(xí)慣,不過度透支自己的時間和生命,這樣才能有更好的精神和態(tài)度面對問題和困難。近年來有很多給程序員打上的標(biāo)簽,"加班狗","無日無夜寫代碼","生活邋遢","衣服全是同款黑色"等等。確實,做為一個程序員,我們花了大部分時間都在想問題,編寫者神乎奇幻代碼和程序。但是我們都往往忘記了自己的身體已經(jīng)在一點一點透支。到了那一天你停下來了,你會發(fā)現(xiàn),身體不行了,除了寫代碼其他個方面的能力都沒有時間去提升。也沒有勁學(xué)習(xí)成長了,整個人好像很頹廢,生無可戀一樣。所以學(xué)會不透支自己,才有更好的狀態(tài)和精力學(xué)習(xí)和突破自己。

總結(jié)

無論你是在學(xué)習(xí)技術(shù)還是在學(xué)習(xí)任何其他領(lǐng)域的知識。在學(xué)習(xí)這條路上都會有坑坑洼洼,各種顛簸。所以我們學(xué)習(xí)要有技巧,要有方法才能在有效時間內(nèi)收獲最大化!

學(xué)習(xí)法門:

  1. 鎖定目標(biāo) - 選擇有用的,對你現(xiàn)在階段有價值的目標(biāo)
  2. 采用學(xué)習(xí)策略 - 深入學(xué)習(xí),投入實戰(zhàn),總結(jié)經(jīng)驗
  3. 管理好時間 - 把控好時間,提高效率
  4. 多思考,多總結(jié) - 多思考問題,多總結(jié)和記錄知識
  5. 改掉不好的習(xí)慣和心態(tài) - 有好的習(xí)慣才能更輕松的學(xué)習(xí)和成長

一個人一生是有學(xué)不完的知識和技能,然而人一生的時間是有限的。所以要把我們的時間和收益最大化才能比同年齡的人跑的更快,學(xué)的更多,能力更強(qiáng)!大家一起在學(xué)習(xí)的道路上繼續(xù)加油吧!

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 通過這段時間的看書學(xué)習(xí)和對編程的思考,結(jié)合自己的親身的學(xué)習(xí)經(jīng)歷,今天想和大家聊一聊如何高效學(xué)習(xí)編程技術(shù)。 我們可以...
    Wizey閱讀 1,390評論 1 2
  • 本版本是基于V4.5 版的。目前的 SDK 版的所有版本必須以會員模式對接。 一共兩個步驟,把下面的依賴庫直接拖進(jìn)...
    雪_晟閱讀 1,243評論 0 0
  • 上敬三幾四零親, 下愛七零后一群。 中在五零顧左右, 閑時茶酒醉甜心。
    住六國展成良閱讀 2,000評論 18 38
  • 星期六爸爸媽媽帶我們回老家,我們寫完了作業(yè)媽媽又帶我們?nèi)ゴ笠碳彝?,大姨也生了一對龍鳳胎,他們可小了,媽媽告...
    Ms張_e048閱讀 128評論 0 0
  • 懸崖邊,長著一株花,葉子翠綠,花兒燦爛。 我問花:你獨自在這孤獨嗎? 花兒回答我:我扎根大地母親,與大自然為伴,不...
    執(zhí)心_d264閱讀 225評論 0 1

友情鏈接更多精彩內(nèi)容