程序员如何通过书籍学习编程?小心用错方法,不然可能事倍功半!
有很多的方式來學(xué)習(xí)編程,從在線教程到完成在線課程,到密集編程的新手訓(xùn)練營。教程都很棒,但它們通常只給你基礎(chǔ)知識。與此同時,在線教程和線下課程你學(xué)全部的話教學(xué)可能觀看視頻無法及時回顧以及觀看知識點(diǎn),雖然有很多方法可以向同伴求助,但是你需要足夠的學(xué)習(xí)曲線才能理解你得到的答案。
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ??
這就是為什么許多想學(xué)代碼的人,或者只是想學(xué)一項(xiàng)特定技能的人,最終還是選擇買一本書來尋求幫助。事實(shí)證明,只要你愿意付出努力,任何你想知道/了解的事情都可以在書中找到答案。書籍也為以后的參考提供了大量的資源。首先,嘗試這些有用的技巧來優(yōu)化學(xué)習(xí)過程,這都是基于我所寫的 96 個本算機(jī)和編程書籍的得出的:
1、完整深入的閱讀
一個常見的錯誤是沒有徹底閱讀說明材料。直接閱讀代碼示例,而沒有閱讀關(guān)于代碼是如何工作的解釋。你購買這本書的原因是為了獲取示例代碼以及對代碼的解釋。
一本計算機(jī)書籍通常包含內(nèi)容之外的信息,你應(yīng)該在閱讀過程中做一些筆記,例如參考材料,這些資料需要你自己花大量的時間去研究。你可以通過參考資料發(fā)現(xiàn)代碼的其他實(shí)現(xiàn)方法,或通過其他類型的輸入以便在代碼完成時進(jìn)行測試
當(dāng)然,一本書無法全面整個復(fù)雜的編碼環(huán)境中。因此,很多計算機(jī)書籍也會有精心策劃的在線資源,這些資源可能包含你正在尋找的內(nèi)容信息。
2、注意力集中
確保你在閱讀時注意力足夠集中。如果你發(fā)現(xiàn)自己注意力已經(jīng)在某個電視球賽或想到一個釣魚之旅時,那么,就放下這本書休息一會吧。休閑的閱讀方式不能達(dá)到最佳效果,你需要集中注意力,否則你的練習(xí)就沒有意義了,這時候你可以稍微回顧一下,回想一下在你分心之前學(xué)到的那些知識點(diǎn)。
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ??
3. 下載源代碼
編程書籍通常都會附帶可下載的源代碼。下載源代碼,將其加載到編譯器中,構(gòu)建它,了解它的運(yùn)行原理,這一點(diǎn)很重要。這些編程示例對于理解編碼技術(shù)至關(guān)重要。這個源代碼為了確保你看到的是一個沒有問題的代碼,而不是出現(xiàn)諸如輸入錯誤或其他問題的代碼。
在你開始理解代碼的工作原理之后,你可能會想要親自動手編寫,從而鞏固你所學(xué)到的知識。對于大多數(shù)新手程序員要克服的第一大難關(guān)就是拼寫錯誤,因此,將原始下載的示例代碼作為參考,可以更快速的發(fā)現(xiàn)錯誤并改正錯誤。除了手工編寫代碼外,還要練習(xí)輸入代碼。
4、調(diào)試單步運(yùn)行
根據(jù)你想要學(xué)習(xí)的語言以及集成開發(fā)環(huán)境(IDE)為你做了哪些工作,你可能仍然不清楚在運(yùn)行應(yīng)用程序時發(fā)生的情況。許多現(xiàn)代編程語言的目標(biāo)是使任務(wù)自動化,你能知道它們是如何運(yùn)行的固然很好,但這對學(xué)習(xí)過程種卻存在很大障礙。
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ??
單步調(diào)試可以幫助你更好的理解它們,當(dāng)你逐步執(zhí)行時,檢查變量的值,驗(yàn)證它們是如何變化的,并確定它們?yōu)槭裁词且赃@樣的方式變化。使用調(diào)試器特性來更改變量值,這樣你可以看到這些改變?nèi)绾斡绊憫?yīng)用程序。查看應(yīng)用程序內(nèi)存,了解它如何存儲信息,并檢查調(diào)用堆棧,以確定調(diào)用的方式。簡而言之,當(dāng)你根據(jù)程序運(yùn)行步驟,一步一步進(jìn)行調(diào)試,可以探索應(yīng)用程序潛在的方方面面。
這種方法還可以讓你探索應(yīng)用程序開發(fā)和設(shè)計的其他途徑。例如,在適當(dāng)?shù)那闆r下,你可以進(jìn)入某個文件庫,查看它們與應(yīng)用程序的關(guān)系。甚至,你還可以瀏覽字節(jié)碼或反匯編應(yīng)用程序代碼。
注意:單步調(diào)試可能會導(dǎo)致應(yīng)用程序工作異常,因?yàn)槟承┻M(jìn)程會有時間上的沖突。此外,還可能導(dǎo)致你需要重新啟動應(yīng)用程序,因?yàn)榄h(huán)境被破壞,并且不會得到預(yù)期的結(jié)果。單步方法最適合短代碼片段。
5、掌握示例代碼
在這一點(diǎn)上,你可能認(rèn)為你已經(jīng)掌握了這本書的每一個內(nèi)容。但是,你仍然沒有使用過示例代碼,并用不同的方式運(yùn)行它。實(shí)踐是檢驗(yàn)真理的唯一標(biāo)準(zhǔn),書中的示例代碼是提高技能最好的方法之一。當(dāng)你處理各種擴(kuò)展時,你應(yīng)該了解代碼的更改對整個應(yīng)用程序的影響。這種知識是其他途徑?jīng)]法學(xué)到——你只能親自實(shí)踐,以便準(zhǔn)確地掌握語言提供的功能。
最終,你才真正的開始創(chuàng)建與示例代碼完全不同的應(yīng)用程序。正是在這個階段,你可以自信地構(gòu)建自己的應(yīng)用程序,這時你也會真正理解它們是如何運(yùn)行的。
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ??
七大關(guān)鍵里程碑
學(xué)會了編程意味著你充分理解了該編程語言,從而能夠完美構(gòu)建應(yīng)用程序。而獲得這些技能的唯一方法是盡你所能地學(xué)習(xí),并不斷地練習(xí),練習(xí)再練習(xí),直到你完全理解了這個過程。在學(xué)習(xí)用特定語言編寫代碼時,開發(fā)人員應(yīng)該努力實(shí)現(xiàn)這七個里程碑:
1、掌握基礎(chǔ)知識,如數(shù)據(jù)存儲、關(guān)鍵字、決策制定和循環(huán)指令。
2、掌握用于執(zhí)行特定任務(wù)的語言。
3、探索庫是如何擴(kuò)充語言的。
4、深入研究語言細(xì)節(jié),并理解語言在較低層次上的運(yùn)行方式。
5、通過編程實(shí)踐,觀察相互關(guān)聯(lián)的變化是如何相互影響的。
6、使用學(xué)到的技術(shù)來構(gòu)建簡單的應(yīng)用程序。
7、通過創(chuàng)建越來越復(fù)雜的應(yīng)用程序和并學(xué)習(xí)其他技能來進(jìn)一步提高自己的技能。
這看起來似乎很多,但是很多程序員證明,在技術(shù)書籍的幫助下,如果你能夠處理好這個過程,達(dá)到這7個境界并不難。
“我是一名從事了10年開發(fā)的老程序員,最近我花了一些時間整理關(guān)于C語言、C++,自己有做的材料的整合,一個完整的學(xué)習(xí)C語言、C++的路線和工具。如果感覺自學(xué)C/C++編程有困難的話可以湫湫掃下方二維碼。這里是編程愛好者的聚集地,歡迎初學(xué)和進(jìn)階中的小伙伴。希望你也能憑自己的努力,成為下一個優(yōu)秀的程序員。
?
總結(jié)
以上是生活随笔為你收集整理的程序员如何通过书籍学习编程?小心用错方法,不然可能事倍功半!的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 实现页面内多个表格在滚动时,表头浮动的效
- 下一篇: 学习C/C++编程有什么条件,没基础能学