程序員應該如何跟著書籍學編程?

學習編程沒有更多的方法,從在線教程到完成在線課程到密集編程新手訓練營。教程很不錯,但它們通常只能教會你基礎的技能。與此同時線上線下的課程變得昂貴,並且可能會被課程的安排時間打擾。儘管我們有很多方法可以向同伴求助,但是必須充分掌握學習曲線以瞭解所得到的答案。

這就是為什麼許多想要學習編程的人 —— 或者只是對特定技能進行學習 —— 最終還是會買一本書來尋求幫助。事實證明,如果你願意付出努力,書籍實際上可以幫助你學習任何你需要知道的東西。書籍也為以後的參考提供了大量的資源。首先,嘗試這些有用的技巧來優化基於圖書的學習過程,這些技巧是基於我所寫的 96 個本算機和編程書籍的反饋:

1. 完整的閱讀

一個常見的錯誤是沒有徹底閱讀解釋材料。直接去編寫代碼示例,而不閱讀有關代碼是如何工作的解釋,這是一個失敗的方法。你購買一本計算機圖書的理由應該是是為了獲得示例代碼以及代碼的解釋。

當然,一本書不能教會你關於當今複雜的編碼環境的一切。因此,許多計算機書籍也引用了精心策劃的在線資源,這些資源可能包含你正在尋找的確切信息。

2. 集中注意力

確保你在閱讀時注意力一直專注於這本書。如果你發現自己突然想到了一次釣魚之旅或電視上的球賽,那麼是時候把這本書放下一段時間了。隨意閱讀是不夠的;你需要集中注意力,或者需要做一個小練習。閱讀過程中不要擔心你不得不稍微回顧一下,以確保你真正理解了在你思考釣魚之旅時從你的頭腦中飄過的那些頁。

3. 下載代碼

編程書籍通常都有可下載的源代碼。下載這個源代碼,把它加載到編譯器中,然後構建它,看看它做了什麼,這一點很重要。這些工作示例對於理解編碼技術至關重要。這個源代碼可以確保您看到一個沒有問題的工作示例,比如輸入錯誤或其他問題。

在您開始理解代碼的工作原理之後,您可能想嘗試手工編寫它,以加強您已經習得的知識。對於大多數新手程序員來說,拼寫錯誤是一個主要的挫折來源,因此,將原始下載的樣本代碼作為比較,可以更容易地快速發現錯誤並改正錯誤。除了手工編寫代碼外,還要練習輸入代碼。

4. 在調試器中單步運行

根據您想要學習的語言以及集成開發環境(IDE)為您做了多少工作,您可能仍然沒有清楚地知道當您運行應用程序時發生了什麼。許多現代編程語言的目標是自動化任務,這在您知道它們如何工作之後很好,但是對於學習過程來說是一個潛在的障礙。

通過單步執行這些示例程序,可以幫助您詳細瞭解它們。當您逐步執行時,檢查變量的值,驗證它們是如何變化的,並確定它們為什麼會以特定的方式發生變化。使用調試器特性來改變變量值,這樣您就可以看到這些變化是如何影響應用程序的。查看應用程序內存,看看它是如何存儲信息,檢查調用堆棧,以確定調用是如何進行的。簡而言之,當您一步一步地完成應用程序時,探索應用程序的每個潛在方面。

這種方法還可以讓您探索應用程序開發和設計的其他途徑。例如,在適當的情況下,您有時可以輸入文件庫,以查看它們與應用程序的工作方式。在某些情況下,您可以探索字節碼或反彙編應用程序代碼,以瞭解程序在較低級別上的運行情況。

注意:使用調試器的單步操作可能導致應用程序工作異常,因為有些進程是時間敏感的。此外,您可能需要在某些時候重新啟動應用程序,因為環境會被破壞,您將無法得到您所期望的結果。單步方法最適合於短代碼段。

5. 使用示例代碼以掌握它

在這一點上,你可能會認為你已經提取了書中所提供的所有的信息。然而,您仍然沒有使用示例代碼,以不同的方式嘗試運行它。實驗是學習的關鍵。在書中試驗代碼示例是構建您的技能的好方法。當您處理各種擴展時,您應該開始理解代碼的變更是如何影響應用程序的整體的。這種知識從其他途徑是學不到的 —— 你需要進行實驗,以便準確地掌握語言在功能方面提供的東西。

最終,您將開始創建看起來不太像書中代碼的應用程序。在這個階段,你可以自信地開始構建自己的應用程序,這樣你就能真正理解它們是如何工作的。

七大關鍵里程碑

學習編程意味著對語言的理解足夠好,以完成構建所有有用應用程序的任務。例如,在僱傭你從事開發工作之前,僱主會希望你擁有這樣的技能水平。

獲得這些技能的唯一方法是學習所有你能做的,然後練習,練習,再練習,直到你理解了內在和外在的原理。當學習用一種特定的語言編寫代碼時,開發人員應該努力實現這七個里程碑:

  1. 學習語言基礎知識,如數據存儲、關鍵字、決策制定和循環指令。
  2. 查看用於執行特定任務的語言。
  3. 探索庫是如何擴充語言的。
  4. 深入研究語言細節,並理解語言在較低層次上的工作方式。
  5. 嘗試用語言來觀察相互關聯的變化是如何相互影響的。
  6. 使用學習的技術開始構建簡單的應用程序。
  7. 通過創建越來越複雜的應用程序和研究額外的語言資源來繼續習得技能。

這看起來似乎很多,但是很多程序員可以證明,在技術書籍的幫助下,如果你正確地處理這個過程,你可以達到所有這些里程碑。


分享到:


相關文章: