古詩詞大全網 - 成語大全 - 如何靠自學提升自己的編程能力?

如何靠自學提升自己的編程能力?

在當今信息技術高速發展的時代,編程成為了許多人所追求的技能之壹。然而,成為壹名出色的程序員並不是易事,需要不斷學習、實踐和探索。那麽如何靠自學提升自己的編程能力?接下來我們就來具體了解壹下吧。

1、多讀好書

書籍會系統介紹常見的知識點,讀壹本書比讀100篇博客有用的多。博客的作者技能良莠不齊,所以可能陷入誤區。對於基礎知識點,閱讀好書,學習在線課程,閱讀官方文檔(React的官網文檔,最好是英文文檔,中文很多翻譯不準確)。這樣逐步搭建自己的知識框架。

在學習壹門新的編程語言時,應該關註這門語言的基本表達形式(Primitive Elements)、組合的方法(Means of Combination)及抽象的方法(Means of Abstraction)這三個特性。

基礎知識:基本語法、關鍵字、變量與常量、數據類型、運算符、流程控制、異常處理、文件處理、編程思想(面向對象、面向過程、函數式編程)、多線程支持等;

應用知識:網絡請求、數據處理、內置函數、對日誌和調試的支持、對單元測試的支持、序列化與反序列化等;

高級知識:開源類庫、開源框架、底層原理等;

我覺得優先讀基礎知識(Javascript 基礎語法,數據結構與算法,ES6語法等),這部分基礎知識成熟,是其他所有知識的基礎。之後根據工作需求,閱讀相關的第三方庫文檔。

好書推薦

編程語言(c/c++):《c語言程序設計》->《c++ primer》-> C++ efftive 系列 -> 《C++ STL 源碼剖析》->《深入理解C++對象模型》

數據結構與算法:《大話數據結構》->《算法圖解》->《數據結構與算法之美》 -> 《劍指offer》 -> LeetCode刷題(至少刷到200多道)操作系統:《操作系統導論》->《現代操作系統》

計算機網絡:《圖解HTTP》->《圖解TCP/IP》->《網絡是怎麽連接的》 ->《計算機網絡自頂向下》->《TCP/IP協議詳解卷1》

計算機組成:《程序是怎麽跑來的》->《計算機組成原理:軟件/接口與設計》->《深入理解計算機系統》數據庫:《SQL必知必會》->《從根兒上理解mysql》->《mysql技術內幕》->《高性能mysql》

編譯原理:《程序員的自我修養》

2、多參與項目

參與項目就會寫很多的代碼。這樣可以讓妳明白學過的知識具體怎麽使用,哪些知識比較常用,自己哪些知識學得不牢固。實踐是檢驗真理的唯壹標準,項目是檢驗知識的唯壹標準。可以有針對性的參與項目(不同項目主要練習不同的知識點),自己需要做到把經常使用的項目,具體的配置和註意點熟記,不常使用的項目,可以短時間內閱讀項目並進行開發。項目推薦:

基千百度AI的語音識別

代碼量:400行

實現功能:語音錄入、語音轉文字

適合人群:有C++、QT、網絡基礎。

涉及技術:QT、信號與槽、HTTP、百度AI開放平臺。

通訊管理系統

代碼量:400行

實現功能:通訊錄信息的增刪改查操作。

適合人群:C語言的初學者,難度較小,不合適寫在簡歷上。綜合應用數組、指針,可以鍛煉編程邏輯思維,積累代碼量。

涉及技術:數組、指針、結構體、函數。

停車管理系統

代碼量:800行

實現功能:停車、找車、繳費、離開、路線規劃。

適合人群:有C語言和鏈表、棧、隊列基礎。

涉及技術:指針、數組、鏈表、隊列、廣度優先搜索。

智能WiFi攝像頭

代碼量:1500行

語言:C語言

實現功能:圖像數據采集、APP顯示、遠程控制

適合人群:有C語言、Linux、網絡基礎,屬幹綜合性項目,適合有意從事嵌入式開發的同學。

硬件平臺: NanoPi Duo2

涉及技術: mjpg-stremer、json、TCP、UDP、QT、epoll

智能音箱

代碼量:3000行

實現功能:由嵌入式端、後臺雲服務器和APP組成,實現了切歌、暫停、繼續、音量調節、APP遠程控制、語音控制。

適合人群:有C/C++/Linux基礎,綜合性比較強,可以作為項目提升、畢設、就業等。

硬件平臺:mini2440

涉及技術:C/C++、libevnet、json、進程、TCP、QT

3、多閱讀源碼

閱讀源代碼是學習編程的重要方式之壹。通過閱讀其他人編寫的代碼,妳可以學習到其他人的編程思路和技巧。同時,閱讀源代碼還可以幫助妳更好地理解編程語言和框架的工作原理。如果妳想要學習壹個新的編程語言或框架,閱讀其源代碼是非常有幫助的。

關於源碼閱讀的三層境界:

初級:記流水賬——初期的源碼閱讀文章基本上是記流水賬,例如對源碼壹行行加註釋,只關註底層實現細節,但並未形成更高層次認知,對其設計理念沒有提煉與深度領悟。

中級:能提問、思考、提煉——要求我們在閱讀源碼的時候多思考,並反問自己如果自己實現的話該如何著手,如何設計,帶著疑問去研究源碼。通過對比,思考,會對其背後的理念有了更深刻的理解。

高級:思考、質疑、驗證——不管是什麽代碼,都會存在BUG或者實現並不合理的地方,如果大家在閱讀源碼的時候能夠深入思考, 合理質疑,並能通過驗證證明自己的觀點,說明我們的能力、思考得到了極大的提升。

4、用好搜索引擎

多使用非百度的搜索引擎,可以獲取很多英文的參考資料,百度會減弱自己的英文能力。想要快速解決這些問題可以學會使用搜索引擎。編程界有個說法:超級程序員=普通程序員+Google。用好搜索引擎,Google+GitHub也許可以解決妳大部分的問題。

Newest ‘python’ Questions—壹個與程序相關的IT技術問答網站

3.10.4 Documentation—Python各個版本的官方文檔

5、自己做壹個開源的項目

參與開源項目是提高編程能力的另壹種方式。通過參與開源項目,妳可以與其他程序員合作,學習到其他人的編程經驗和技巧。同時,開源項目還可以幫助妳鍛煉自己的編程能力,提高自己的編碼水平。參與開源項目還可以擴展妳的社交圈,結識更多的編程愛好者。

6、學習算法和數據結構

算法和數據結構是編程的基礎,它們可以幫助妳更好地理解編程語言和框架的工作原理。學習算法和數據結構可以幫助妳更好地解決編程問題,同時也可以提高妳的編程能力。如果妳想要成為壹名優秀的程序員,學習算法和數據結構是非常重要的。

個人經驗:通過自學提升自己的編程能力需要付出大量的時間和精力,還需要具備自律和耐心。但是,成為壹名出色的程序員可以為自己創造更多的機會和發展空間,也可以為社會創造更多的價值和貢獻。因此,我們需要不斷學習和實踐,追求卓越,成為壹名優秀的編程高手。