6个高效学习编程的方法
編程確實(shí)不是一件容易的事情,除了要有較強(qiáng)的邏輯思維,還需要花大量的時(shí)間和集中力來提升或者維持一定的高度。
與其他的領(lǐng)域不一樣的是,技術(shù)每日都在變,所以對于編程初學(xué)者是很難一直與時(shí)并進(jìn)的。就算是技術(shù)大神和老司機(jī)們也是追趕的比較吃力的。在技術(shù)領(lǐng)域打滾的這些年里,通過經(jīng)歷和經(jīng)驗(yàn)總結(jié)出一些高效的學(xué)習(xí)方式和方法,在這篇文章里與大家分享。讓我們現(xiàn)在就在技術(shù)領(lǐng)域的學(xué)習(xí)之路上奔跑吧!
鎖定目標(biāo),風(fēng)雨兼程
在剛剛接觸技術(shù)的時(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)有多扇門在你前面,讓你瞬間選擇困難了。所以這里我們就用后端語言選擇作為一個(gè)例子講解學(xué)習(xí)目標(biāo)選擇方法。
陷入學(xué)習(xí)目標(biāo)選擇困難癥是因?yàn)榧夹g(shù)每日每夜都在變,方向和未來都在搖擺。但是我們首先要有一個(gè)對技術(shù)有很好的判定能力。
大家應(yīng)該很多時(shí)候都聽過"JAVA 才是世界上做好的語言","PHP 才是世界上最好的語言"等等,這些在自己領(lǐng)域崇拜著自己所愛的語言技術(shù)愛好者。TA 們并沒有錯(cuò),因?yàn)槊總€(gè)開發(fā)語言都在特定領(lǐng)域或者項(xiàng)目條件里是最好的語言。不過并沒有世界上最好的語言,只有在某一個(gè)場景和條件下最適合使用的語言。每一種開發(fā)語言都有他擅長最合適的使用場景。
-
PHP?-?更適合小型到中型網(wǎng)頁端應(yīng)用(大型應(yīng)用就需要其他語言配合使)
-
JAVA?-?更適合大型應(yīng)用,企業(yè)級應(yīng)用(中小型應(yīng)用用 JAVA 就是大材小用,浪費(fèi)資源)
-
PYTHON?-?更適合用于爬蟲,人工智能,腳本類應(yīng)用
目標(biāo)尋找法
所以在選擇學(xué)習(xí)目標(biāo)的時(shí)候,我們要有對技術(shù)的判定能力,不要輕易聽取一些偏面的評價(jià)和定論而下決定。
選擇學(xué)習(xí)目標(biāo)時(shí)重要的決定因素:
-
在目前最實(shí)用的 - 學(xué)能用到的更容易上手,也更有價(jià)值
-
難度跨度不要太高 - 難度跨越太大時(shí)間成本會越高
-
感興趣的 - 感興趣才更能堅(jiān)持,更有動力
-
社區(qū)更大的 - 社區(qū)越大遇到問題時(shí)找答案的途徑越多
-
開源項(xiàng)目優(yōu)先 - 開源的項(xiàng)目的技術(shù)更有未來
一旦鎖定一個(gè)目標(biāo)就要能懂,能用,能變,再擴(kuò)張你的學(xué)習(xí)領(lǐng)域到其他的技術(shù)。
-
能懂? - ?能懂的技術(shù)或者知識的理論和原理;
-
能用?- ?能把技術(shù)或者知識投入使用,投入實(shí)戰(zhàn)項(xiàng)目;
-
能變?- ?能舉一反三學(xué)到的技術(shù)或者知識,能變通,延伸拓展。
不要蜻蜓點(diǎn)水
這一點(diǎn)是很多初學(xué)者都會犯的錯(cuò)誤。
不要淺入淺出,得不到技能還失去了時(shí)間。
學(xué)習(xí)要一步一個(gè)腳印,很多一開始學(xué)習(xí)編程往往會同時(shí)學(xué)習(xí)多個(gè)技術(shù),其實(shí)這種學(xué)習(xí)方式不但沒有效果反而還浪費(fèi)時(shí)間浪費(fèi)生命。鎖定一個(gè)學(xué)習(xí)目標(biāo)就要專注一個(gè)點(diǎn)上學(xué)習(xí),重點(diǎn)學(xué)習(xí)。
舉個(gè)例子,如果你想成為一個(gè) Java 開發(fā)工程師,你是不需要從C學(xué)起,然后C++,最后才開始學(xué)習(xí) Java。我看到很多開發(fā)者剛開始都是這樣學(xué)習(xí),其實(shí)根本不需要從底層技術(shù)開始學(xué)習(xí)。既然你的學(xué)習(xí)目標(biāo)是 Java,那就直奔重點(diǎn)不浪費(fèi)時(shí)間。穩(wěn)固了基礎(chǔ)開發(fā)語言后,選擇一個(gè)框架開始深入專業(yè)實(shí)戰(zhàn)知識。當(dāng)你穩(wěn)固了更專業(yè)的實(shí)戰(zhàn)知識后,就可以開始學(xué)習(xí)這個(gè)技術(shù)的周邊工具(比如 IDE)讓開發(fā)更加高效便捷。
專研秘訣:
-
學(xué)習(xí)每一個(gè)知識或者技術(shù),一定要深入淺出,深入學(xué)習(xí)和挖掘,吸取重要知識和技術(shù)。-
專心,專注,專研是一個(gè)技術(shù)人才的基本素養(yǎng)!
先專注于會用而不是能用
很多開發(fā)者習(xí)慣性會過于專注于工具使用,寫法,性能,可擴(kuò)展性等等。初學(xué)者一般都會掉入工具使用和寫法的坑,而資深的開發(fā)者會過于專注于性能和可擴(kuò)展性。這時(shí)候往往會過度消耗學(xué)習(xí)時(shí)間,甚至忘記最初的學(xué)習(xí)目標(biāo)。
用一個(gè)簡單易懂的例子,"一個(gè)機(jī)械工程師不會浪費(fèi)時(shí)間想怎么更好的使用 TA 的扳手,而是怎么可以組裝好一個(gè)機(jī)器的部件"?-?很多人會想,學(xué)會用更好的工具不是可以更快地安裝好嗎?但是現(xiàn)實(shí)是,你都還沒有弄懂怎么安裝,再好再有效的工具對你來說都是無用武之地。所以還沒有學(xué)會前行,就不要先想著怎么跑。
再舉例,如果你是正在學(xué)習(xí)使用 Vue 框架,不要太過于執(zhí)著怎么使用 Vue 的周邊工具,高級寫法,性能隱患問題等等。你的目標(biāo)應(yīng)該是創(chuàng)建你的第一個(gè)首頁然后直接投入開發(fā)一個(gè)小項(xiàng)目小應(yīng)用。這樣你的產(chǎn)出才是最高的,因?yàn)檫@樣做更加專注于學(xué)會怎么使用 Vue 來實(shí)現(xiàn)功能,而不是更好的使用 Vue 框架。
在學(xué)習(xí)的時(shí)候要專注于會使用新的技術(shù),
而不是怎么用各種花式技巧來提高使用能力。
還有很多童鞋開始學(xué)一門技術(shù)時(shí),會先開始看一大堆的知識和書籍,或者去看一些大型的項(xiàng)目用這個(gè)技術(shù)是怎么實(shí)現(xiàn)的。其實(shí)更有效的學(xué)習(xí)方式是小步快跑,學(xué)習(xí)的過程中開發(fā)一個(gè)小項(xiàng)目會讓你更加有動力也更有趣。
約定自己在限定時(shí)間內(nèi)完成小目標(biāo),如能完成就給自己一點(diǎn)小獎勵(lì)。例如,你對你自己說"如果我下周五完成這個(gè)功能,我就讓自己去看個(gè)電影"。記住獎勵(lì)不需要很大,小步快跑,小獎小利,這樣才能維持發(fā)自內(nèi)心的動力和驅(qū)動力。不過就算沒有達(dá)成小目標(biāo)也不用氣餒,失敗時(shí)成功之母,所有成功的人都是通過在失敗中總結(jié)成長壯大。
采用學(xué)習(xí)策略
每一個(gè)人都會有一種最合適自己的學(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的時(shí)候,我嘗試看很多"從入門到精通","XXX 語言 101"等等,最終的結(jié)果都是"從入門到放棄"。后面開始走視頻學(xué)習(xí)之路,發(fā)現(xiàn)視頻里面的老師說話好像是機(jī)器人一樣,本來有點(diǎn)失眠癥的,沒想到一看視頻秒睡著,被治好了!我以為我的技術(shù)生涯就要結(jié)束在這里了~ ¯\(⊙︿⊙)/¯
建立策略
前方無絕路 · 希望在轉(zhuǎn)角 ~ 我迅速改變了策略,學(xué)習(xí)技術(shù)和其他領(lǐng)域不一樣除了看書,擼視頻還需要動手去敲代碼。學(xué)習(xí)任何一門技術(shù),可以遵循以下學(xué)習(xí)策略,可以讓學(xué)習(xí)的技術(shù)和知識更加穩(wěn)固。
學(xué)習(xí)策略:
還是遵循我們之前說到的規(guī)則,能懂,能用,能變。
1.
深入了解技術(shù)的原理?-? 了解清楚才能更好的在不同場景下運(yùn)用自如(可以通過看書,看文檔)2.
通過代碼理解運(yùn)用方式?- 看懂基本原理,就可以看看別人是怎么在項(xiàng)目中使用的(在 github 找開源項(xiàng)目,看教學(xué)視屏等等)3.
實(shí)戰(zhàn),做一個(gè)小項(xiàng)目?- ?能懂,能會了就要能用,用新學(xué)的技術(shù)實(shí)現(xiàn)一個(gè)功能,做一個(gè)小項(xiàng)目,把知識投入實(shí)戰(zhàn)。4.
發(fā)揮你的想象力?-? 能用后如果想進(jìn)階更高層次,就要發(fā)揮你的想象力,能舉一反三,在你的小項(xiàng)目里面加功能。
其實(shí)上面的策略無非就是學(xué)習(xí)的過程中必須有的理論,運(yùn)用和變通。這三個(gè)學(xué)習(xí)維度要保持一個(gè)良好的平衡。這個(gè)平衡是非常重要的,只有理論那就是"紙上談兵",只有理論和運(yùn)用那只是個(gè)"代碼搬運(yùn)工",如果三個(gè)維度你都才是就是"大師"。
當(dāng)然所說的平衡不是說1:1:1,完全平衡是很難的。對于一個(gè)初學(xué)者的話可以先3:2:1,中級就可以開始維持2:3:1,到了高級就可以維持2:2:2 了。(比例指的是 - 理論:運(yùn)用:變通)
時(shí)間管理,提高效率
番茄工作法估計(jì)很多人都聽說過,但是真正用上可能就很少了,能堅(jiān)持使用的就更少了。
很多時(shí)候在學(xué)習(xí)中,或者工作中,我們都是被時(shí)間追著跑,這里看一下哪里看一下,不經(jīng)意就已經(jīng)過了幾個(gè)小時(shí),一天就過去了。其實(shí)真正有效的產(chǎn)出不大,那是因?yàn)槟銢]有合理的管理時(shí)間。用番茄工作法就是可以讓我們可以追著時(shí)間跑,讓自己時(shí)刻有著時(shí)間感,急迫感。
自然時(shí)間運(yùn)用上就更加有效了。我現(xiàn)在工作中和學(xué)習(xí)中都已經(jīng)在使用番茄工作法,有效管理時(shí)間效率。突然發(fā)現(xiàn)使用了之后,每個(gè)小時(shí)我的工作效率提高了很多。
使用方式其實(shí)很簡單,把學(xué)習(xí)或者工作時(shí)間拆分為 25 分鐘一個(gè)小階段,每 25 分鐘休息 5 分鐘,每 4 次小階段休息 15 到 20 分鐘。
使用這個(gè)時(shí)間管理法后,你會覺得在 25 分鐘的小階段里面,你的時(shí)間很緊迫的,每一分鐘你都覺得很寶貴。你會發(fā)現(xiàn)你沒有時(shí)間去浪費(fèi),自然而然的在 25 分鐘內(nèi)提高了效率。無形中你的學(xué)習(xí)和工作的集中力就會提升。除了提高了你的效率以外,你會發(fā)現(xiàn)一天幾個(gè)小時(shí)的學(xué)習(xí)或者工作都不覺得很疲憊。因?yàn)樵?25 分鐘的高度集中后,你合理的調(diào)整了休息,讓自己非常平衡的控制好疲憊度。所以你會發(fā)現(xiàn)一天里面的學(xué)習(xí)和工作都變得輕松了。
用番茄工作法提高了學(xué)習(xí)效率和疲憊度,自然你的學(xué)習(xí)成果就會更高。如果你覺得我說的這個(gè)方法太虛幻了,不妨試一下體驗(yàn)一下,實(shí)戰(zhàn)說明一切!
多思考,多教學(xué)
通常我們學(xué)習(xí)都用的是吸🌟大法 🌟?( ? ? ? ),然后實(shí)戰(zhàn)運(yùn)用,其實(shí)還有很多細(xì)節(jié)和理論我們并沒有理解透測。所以運(yùn)用就不夠自由,無法延伸一些創(chuàng)新的用法,或者舉一反三。
在我事業(yè)發(fā)展的過程中,從一個(gè)小開發(fā),做到一個(gè)小組長,到現(xiàn)在技術(shù)總監(jiān)。在我開始帶領(lǐng)一個(gè)小組,到帶領(lǐng)整個(gè)技術(shù)團(tuán)隊(duì);很多問題和新知識都要通過講解或者教學(xué)來帶培養(yǎng)你的組員和隊(duì)員。這個(gè)過程中會遇到各種不同思維程度和學(xué)習(xí)能力的人,每一個(gè)人的理解能力或者理解方式都不一樣,甚至看待每一件事情或者知識的角度都不一。你會發(fā)現(xiàn)你教學(xué)或者講解某一個(gè)知識的時(shí)候需要使用各種不同的方式和方法。往往就是這樣觸發(fā)了你自己去換角度思考和理解這個(gè)知識,而啟發(fā)了你自己對這個(gè)知識新的認(rèn)知。
通過教學(xué)和講解來把你的知識傳承給另外一個(gè)人,需要重新整理思路,邏輯,切換N種方式和說法。這個(gè)過程中你會挖掘出新的知識,新的觀點(diǎn),新的思維方式,新的理解角度和深度。這就是自我思維切換而達(dá)到的知識深度挖掘和提升的過程。這種就是我們經(jīng)常說的小黃鴨教學(xué)法。
不知道大家有沒有聽說過,當(dāng)你思路不清晰,或者有問題無法解決的時(shí)候。你可以找一只小黃鴨,你就開始講解你的思路,邏輯或者問題。這個(gè)過程中你開始重新整理自己的思路。如果你把一只啥都不懂的小黃鴨也能讓它聽懂。那這個(gè)時(shí)候你的思路,邏輯,理解都更加清晰了,問題起碼都解決了 50% 以上了。我給這個(gè)方法取了個(gè)名字叫小黃鴨教學(xué)法!初級學(xué)習(xí)的時(shí)候要用吸星大法,進(jìn)階到高級的時(shí)候就要用小黃鴨教學(xué)法。能教會一只小黃鴨技術(shù),你就是大神了!
記錄,總結(jié)
除非你是過目不忘,要不看完一本書能記下所有是不可能的。就算記住了但是不可能完全明白透徹。一個(gè)程序員經(jīng)常面對著反復(fù)又反復(fù)的任務(wù),記錄學(xué)習(xí)進(jìn)度和總結(jié)學(xué)習(xí)知識很重要。往往你學(xué)到一個(gè)知識的時(shí)候,你會使用這個(gè)知識投入實(shí)戰(zhàn)中。你沉迷在代碼海洋之中無法自拔之后,你會發(fā)現(xiàn)你已經(jīng)不記得你入海前學(xué)到哪里了。所以記錄學(xué)習(xí)進(jìn)度很重要。
記錄學(xué)習(xí)方式:
- 把學(xué)習(xí)后的知識寫成文檔
- 把知識寫成博客
- 總結(jié)重點(diǎn),記錄重點(diǎn)
- 編寫學(xué)習(xí)規(guī)劃,就是所謂的
todo規(guī)劃表
在學(xué)習(xí)中,如果要把知識記錄,當(dāng)你要使用它的時(shí)候能快速找到。那你就要有總結(jié)知識的習(xí)慣。把你學(xué)過的知識,技術(shù),技巧都寫成文檔,寫成總結(jié)。這樣加強(qiáng)你的印象,同時(shí)也整理出了屬于你自己的開發(fā)手冊。當(dāng)你遇到了某些問題的時(shí)候就可以通過你自己的開發(fā)手冊找到答案。
改掉以下習(xí)慣
-
完美主義: 初學(xué)者經(jīng)常會陷入的一個(gè)坑,從一開始就追求完美,完美的寫法,完美的實(shí)現(xiàn)方式,完美的設(shè)計(jì)模式。其實(shí)有時(shí)候這些都不是最重要的,反而導(dǎo)致有延遲和延后的嚴(yán)重情況,導(dǎo)致進(jìn)度一直無法推進(jìn)。最求完美往往把簡單事情變得復(fù)雜。不要總是為了完美而無限徘徊,為了最好的解決辦法而糾結(jié),為了對的方式而浪費(fèi)時(shí)間。往往在開發(fā)中,時(shí)間是有限的,需求是無限的,連完成都無法保證,就更沒有時(shí)間追求完美。
-
對比心態(tài):很多行業(yè)內(nèi)的新人或者準(zhǔn)備入行的,都會去和行業(yè)內(nèi)頂尖的人做對比。有一句很火的話"沒有對比就沒有傷害",很多人用來對比好與壞,美與丑。其實(shí)另外層意思就是如果對比會對你自身造成打擊又何必常常帶著對比之心來對待自己和事情呢?對比不一定會有傷害,但是對比的心態(tài)才是真正造成傷害的源頭。應(yīng)該先認(rèn)可自己的優(yōu)點(diǎn),接受自己的缺點(diǎn),然后去找到別人的優(yōu)點(diǎn),發(fā)現(xiàn)別人的缺點(diǎn)。在別人的優(yōu)點(diǎn)和缺點(diǎn)給自己帶來成長。吸收別人優(yōu)點(diǎn),避免自己養(yǎng)成了同等的缺點(diǎn)。優(yōu)秀的人不是天生比你優(yōu)秀,而是 TA 們更懂的不自我透支,更懂得養(yǎng)成在無形之中讓自己成長的習(xí)慣。
-
復(fù)雜化:學(xué)會把復(fù)雜的問題和事情拆分成多個(gè)小問題小事情。復(fù)雜的問題和事情就會變得更加簡單。因?yàn)閱栴}和事情往往有多個(gè)點(diǎn)需要突破,把每個(gè)點(diǎn)拆開逐個(gè)突破就會更加簡單輕松。從簡到繁,如果太復(fù)雜,就拆開一個(gè)一個(gè)更簡單的小點(diǎn),逐個(gè)突破。
-
過度透支:學(xué)習(xí)累了就躺穿上休息,吃飽喝足了就堅(jiān)決不吃了。養(yǎng)好一種自律的習(xí)慣,不過度透支自己的時(shí)間和生命,這樣才能有更好的精神和態(tài)度面對問題和困難。近年來有很多給程序員打上的標(biāo)簽,"加班狗","無日無夜寫代碼","生活邋遢","衣服全是同款黑色"等等。確實(shí),做為一個(gè)程序員,我們花了大部分時(shí)間都在想問題,編寫者神乎奇幻代碼和程序。但是我們都往往忘記了自己的身體已經(jīng)在一點(diǎn)一點(diǎn)透支。到了那一天你停下來了,你會發(fā)現(xiàn),身體不行了,除了寫代碼其他個(gè)方面的能力都沒有時(shí)間去提升。也沒有勁學(xué)習(xí)成長了,整個(gè)人好像很頹廢,生無可戀一樣。所以學(xué)會不透支自己,才有更好的狀態(tài)和精力學(xué)習(xí)和突破自己。
總結(jié)
無論你是在學(xué)習(xí)技術(shù)還是在學(xué)習(xí)任何其他領(lǐng)域的知識。在學(xué)習(xí)這條路上都會有坑坑洼洼,各種顛簸。所以我們學(xué)習(xí)要有技巧,要有方法才能在有效時(shí)間內(nèi)收獲最大化!
學(xué)習(xí)法門:
1. 鎖定目標(biāo) - 選擇有用的,對你現(xiàn)在階段有價(jià)值的目標(biāo)
2. 采用學(xué)習(xí)策略 - 深入學(xué)習(xí),投入實(shí)戰(zhàn),總結(jié)經(jīng)驗(yàn)
3. 管理好時(shí)間 - 把控好時(shí)間,提高效率
4. 多思考,多總結(jié) - 多思考問題,多總結(jié)和記錄知識
5. 改掉不好的習(xí)慣和心態(tài) - 有好的習(xí)慣才能更輕松的學(xué)習(xí)和成長
一個(gè)人一生是有學(xué)不完的知識和技能,然而人一生的時(shí)間是有限的。所以要把我們的時(shí)間和收益最大化才能比同年齡的人跑的更快,學(xué)的更多,能力更強(qiáng)!大家一起在學(xué)習(xí)的道路上繼續(xù)加油吧!
總結(jié)
以上是生活随笔為你收集整理的6个高效学习编程的方法的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 停经一周,血hcg300,疑似宫外孕该怎
- 下一篇: 短视频土味剧情广告,可能是传统广告的死亡