您好,登錄后才能下訂單哦!
在你學習編程的過程中,是否有過以下經歷,或正在面臨類似的局面:
● 網上找了很多資料,不知道從哪里看起
● 買了本書,過了很久也沒有看完第一章
● 開始還能跟著寫幾行代碼,后來突然就看不懂了
● 也看了些教程和視頻,似乎明白了,但還是沒法自己寫代碼
● 入門了很多次,每次過兩個月就又全忘了
對于初學者,尤其是自學者,太多問題可能成為你編程之路上的坎,一不小心就從入門到放棄了。
1 你需要一個明確的學習目標
很多人會說,我有目標啊,就是要學會編程,然后還要找份高薪的程序員工作。這是一種目標,但不是明確的、具體的、可執行的學習目標。這就好比說“我要幸福”、“我要做自己想做的事”但沒有具體標準一樣,對你的行動沒有任何指導意義。
你要學編程,是為了去寫一個自動腳本搶票搶優惠券,還是平常處理大量文件時候可以自動化?是為了驗證你股票上的交易策略是否可靠,還是做一個網頁推廣自己的品牌?如果你的目標是為了找工作,那是想做開發游戲還是桌面軟件,是數據處理還是網站,前端還是后端?編程是一個很廣泛的概念,明確你的目的,學習時才能有方向,也更能堅持下去。
也許有不少人覺得,我也不清楚,只是想多學個技能,總歸會有好處吧。而且我都還沒學呢,怎么知道之后要做什么?這個出發點可以理解,但我仍然建議:必須給自己定一個小目標。哪怕你開腦洞隨便想一個需求也是好的。不然這種先學了再說的狀態很難讓你堅持下去。
你不必擔心定錯了目標就走上了彎路,它總比沒有目標要好多了。它只是你學習初期的一個里程碑,等你能順利完成它,后面還有更多的目標供你選擇。
2 先建立整體的認知
在軟件開發領域有這樣一句話:
過早的優化是萬惡之源。
在編程學習里同樣有效。很多人會追求某種一步到位的終極路線,表現出來就是:
● 希望別人推薦一套最佳教程
● 先理論后實踐
● 鉆入細節的牛角尖
似乎看起來沒什么不對,明確路線、打好基礎、按部就班,很符合一貫的教育理念啊。就好像你執意要優化你的代碼一樣,如果我說你這么做是錯的,倒顯得我有問題。
但事情是分時機的,正確的事情在不合適的時間去做,就會導致錯誤的結果。過早地陷入局部細節,追求理論基礎,很容易讓初學者困惑,以至于在某個點上卡殼,無法繼續學習下去。淺顯易懂和專業性強本來就是很難調和的兩個維度,很多教程之所以優秀,是因為它內容體系完善,但對于你來說真的合適嗎?
對于早期學習者,尤其是非專業的自學者來說,囫圇吞棗、不求甚解才是更合理的打開方式。
借用網上的這張圖,編程與之很類似。如果說圖上的點是編程相關的各種概念和技術,學習的過程就好比繪制這張圖:你通過學習,了解了這些技能點,并將其連接起來。
一種繪制方法就是先畫好一個點的細節,再從這個點出發精確畫出通往下一個點的線,依次一個個畫下去。這是種看似穩妥,實際上卻低效且很容易出錯的方式。更合理的方法是:先確定紙上點的大體分布,畫出他們的輪廓,然后畫好關鍵位置上的點,連接關鍵點,之后再逐步完善分支和細節。
學習編程是一個反復迂回、不斷迭代的過程,而不是一路到底的單行道。
在剛接觸編程的時候,你根本無須在意太多細節,而是更應該對編程有個直觀的印象,知道技術能夠實現什么,體會編程的樂趣。這和上一點是相輔相成的:當你有了一個目標,就可以去了解達到目標需要哪些知識點、怎樣的學習路徑,以此來確立自己要學習的內容;而當你對編程的有一個整體的認知,又會更清楚自己學了編程可以做什么,讓自己的目標更明確。
3 選擇合適的起點和路線
在有了明確的目標,建立了整體的認知之后,接下來的事情就很自然了:選擇一個合適你的起點,朝著通往目標的方向,開始你的學習,點亮技能圖譜上的點,并將其連接起來。否則,盲目地從一個不恰當的地方開始,比如選了一本起點較高的書,或是上手就去折騰某個框架,就會事倍功半,效率很低,甚至導致放棄。所謂“欲速則不達”,就是這個道理。
如果你做了上一點,有些基本的整體認知,自然就會明白那些“21天精通XX”、“兩個月成為數據分析師”的宣傳語有多荒唐。
以上三點,通俗來說就是,你要弄清楚:
1. 學了干嘛
2. 學哪些內容
3. 從哪學起
你去隨便找一款目前市面上流行的手機游戲,會發現它們的新手引導也是類似的套路:
1. 向你說明游戲的勝利條件,引導你取得一場勝利(明確目標)
2. 讓你體驗一套高級別高配置的陣容(整體的認知)
3. 指導你游戲基本操作和初期的升級(起點和路線)
這些游戲經過精心設計,力求讓玩家成癮。對于學習也是如此,讓自己盡快“上癮”,才能深入下去。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。