-
1 # 肖哥網路技術
-
2 # 計算機微課堂
自學敲程式碼首先要懂得語法基礎知識,比如變數如何宣告,方法如何宣告和呼叫等。有語法基礎知識就可以自己慢慢學敲程式碼。
-
3 # 思潔ii
首先要選定程式設計學習的方向,例如 Python、C、C++、Java、JavaScript 等等程式語言,你最好先去查一查都有哪些程式語言,每種程式語言都側重於哪些方向,例如 JavaScript 主要用於 Web 前端開發,Java 主要用於後端開發,Python 在資料分析和機器學習等方面有較好的應用。不同的方向有著不同的吸引力和特點,你多瞭解一下,選一個自己感興趣的。
接下來就是學習程式設計,那麼在看書學習的過程中,有一點要記住:不要無腦照著別人的程式碼敲,重要的是思考,是學習程式設計的思想!照著別人程式碼敲一遍除了讓你看得仔細點,練了打字外其它並沒有任何幫助 — 和自己盯著程式碼仔細看是一樣的,這樣的學習效率是不高的。
重要的是學習程式設計思想,這個功能是怎麼實現的,為什麼這麼實現,作者是怎麼想到的,其次才是敲程式碼,學習好了思想以後,你可以自己敲,模仿敲,再對照著檢查自己程式碼中存在的問題。
看書、看部落格、學課程或者看影片等模仿著書上或者部落格的程式碼,進行復現,復現不重要,思考才是關鍵 ⚠️思考學習別人思路後,脫離書本和部落格,完全自己實現功能自己實現一些 DEMO,看別人專案程式碼,與別人討論,提升程式碼能力在別人的框架和要求下,寫程式碼實現業務自己負責別人設計的模組的實現獨立設計業務模組並開發實現負責大專案框架設計和拆分,帶領別人進行開發其他高階的架構和管理工作,已經不僅僅是程式碼能力了那麼在自學程式設計的前期和中期,能夠完成前五項就是取得了很不錯的效果了。
初級程式設計師,涉獵廣泛,但都是淺嘗輒止。這是很多人面臨的問題,而在程式設計學習則是需要實際操練,加深體會,不斷深入的一個過程。在這個回答裡,我想說一下初級程式設計師應該如何提高。
想要培養一項技能的最好的辦法,就是將他融入到我們的生活併成為我們的愛好。其實說白了,就是讓這個愛好成為一個習慣,一天不去做這件事情,都會覺得少了什麼。在不知不覺中,這個習慣會像滾雪球一樣積累起來。
對我來說,養成這種習慣首先就是要對“拖延症”說不。比如,你想鍛鍊下自己的寫作能力時,但是沒有好看的本子,沒有好的靈感,沒有安靜的環境....總之就是找各種理由一拖再拖,最後就不了了之了。
為自己設定一下,每週拿出幾天,每天拿出幾個小時,程式設計學習就這樣慢慢步入正軌。
對待程式設計學習,我們沒必要像健身狂人那樣一口氣做到筋疲力盡。與其直接程式設計2小時,我們完全可以先做40分鐘、然後休息5分鐘,整個過程重複4次。很明顯,40分鐘這樣的短週期更容易堅持也不會帶來多少壓力。
不過這樣的方式應該配合更為靈活的執行思路。如果你感覺狀態很好,而40分鐘才剛剛完成熱身,那就繼續做下去並努力讓自己抓住這種狀態。向大家推薦蕃茄工作法,這是種學習新型技能的良好機制,推薦各位認真瞭解。
在確定好學習方向和技術棧之前,你可以多做嘗試,學不同的語言。但是當你學到一定程度,知道自己對哪個方向更感興趣的時候,就不要廣撒網了,一定要專注於你所選擇的領域,做深做精。認真系統化地學習相關語言知識。當然,這不是讓你就知道看書,你要看書的同時結合專案實踐,進而對自己的掌握程度得到反饋,知道自己哪裡不足,再繼續學習,如此反覆,詳見第四點。
當你選好方向,認真學習基礎知識後,學習一部分的知識,就結合專案做一些實踐,已明確自己哪裡不足。並且做專案能增加學習樂趣,給自己提供一些正反饋,讓學習變得有趣,讓自己有足夠的動力繼續學習。
學習程式設計不能閉門造車,經過這幾年的程式設計學習,我認為想要提升編碼水平的最佳途徑就是多看、多寫。看別人的程式碼,看一些程式設計師大佬寫的程式碼,看一些標準庫的原始碼,仔細思考他們的程式設計思維和程式設計方式,以提升自己的程式設計思維和程式設計方式。閱讀別人的程式碼也確實是快速提升程式碼水平的一個技巧。
當然,也有一些提升閱讀別人程式碼速度的技巧。很多時候讀程式碼靠的不是閱讀文字速度,而是理解的速度。我把自己理解的影響速度的原因列舉出來。
1. 對整體的思路沒有概念
2. 對類庫不熟悉,包括方法呼叫不熟悉
3. 不理解裡面的一些演算法
4. 中途停頓時間太長,接過來後沒有形成一個系統的思路。
閱讀的方法是先整體再區域性。目前我們知道了那些因素影響到了速度也知道了閱讀的方法。那下面就開始一個個擊破難度。
1. 把握整體有個大體的框架在腦海中,此時根據裡面的檔名和資料夾,從入口檔案大段大段看就可以,知道這段或者這個檔案的作用就可以。很多寫得好的類庫都是思路很清楚,非常有助於從整體理解, 此時只需要知道這個檔案和這個方法是什麼作用就可以,還不到細細研究的階段。
2. 對類庫不熟悉那麼會引起閱讀時候左右查資料,影響速度。此時應該先把不熟悉的類庫全部整理出來,一次性過一遍,然後到對應的官網查用法就可以,注意,此時不用全部看,只需要查呼叫到的地方什麼意思,弄明白呼叫的意思即可。
3. 遇到不熟悉的演算法此時就要靜下心來,如果有註釋可以根據註釋來理解,如果沒有那麼也是一樣的思路,想整體瞭解這個演算法再細分進去了解,這一步只需要靜下心裡是可以理解的。
4. 中途不能說看一個小時,停了4個小時再接著看,或者是今天看一點點,隔了非常長的時間再看第二部分。最好是趁熱打鐵。
裡面核心的地方還是從整體到細節的方法,掌握到了整體閱讀細節才有意義,有時候知道了整體一些細節的地方清楚了,總之沒有不努力就能理解的程式碼,上面的方法只是幫助你可以輕鬆些閱讀,只是努力是必須的。
學習程式設計的一個很好的方法就是和其他的程式設計師交談。這不僅能夠幫助我們多獲得一種思維方式,同時也能夠以更為愉悅的感受完成學習任務。至於內容沒有特定的要求,可以是你正在學習的東西,也可以是你認為很酷的東西,更可以是你正在工作的東西。這樣做可能會讓你學到很多關於庫,服務,程式語言和模式方面的知識。但是,最重要的是,你能瞭解到其他人是如何看待程式設計的。
如果大家學習了一種新的程式設計概念,但不能確定自己是否已經真正掌握,可以寫技術博文加以檢驗。或者是在技術部落格網站上搜索,找找是否有人提出了類似的問題,然後給出您自己的答案。如果答案不對,那麼討論的過程能夠有效加深理解。這樣的過程,能給我們帶來寶貴的經驗,同時也能幫助他人。
值得提醒的一點,別因為自己剛剛涉及程式設計而有所顧慮。羅馬不是一天建成的,出色的程式設計師也是一樣。只要您對問題有所瞭解,就不妨給出自己的答案——無論對錯,這都將成為一次寶貴的經歷。
對於人生來說,其中任何目標的實現都離不開耐心。程式設計學習就如其它任何學習任務一樣,都需要反覆努力並投入大量時間。
在這個過程中,您一定會經歷高潮與低谷——別被這些曲線影響了心情。接受已經發生的一切,並儘可能避免其中不好的部分。就像打Golf球一樣,我們的手感總在不斷浮動,但只要堅持到底,您最終總能成為一個大神呢~
0. GitHub — 開發者最最最重要的網站:
這個不用多說了吧,程式碼託管網站,上面有很多資源,想要什麼輪子,上去搜就好了。並且呢,上面有很多優秀的程式設計師,你可以在這裡交到很多好朋友喔。
1. Stack Overflow — 解決 bug 的社群:
開發過程中遇到什麼 bug,上去搜一下,只要搜尋的方式對,百分之 99 的問題都能搜到答案。在這裡能夠與很多有經驗的開發者交流,如果你是有經驗的開發者,還可以來這兒幫助別人解決問題,提升個人影響力。
2. 程式設計師客棧:
程式設計師客棧是領先的程式設計師自由工作平臺,如果你是有經驗有資質的開發者,都可以來上面註冊成為開發者,業餘的時候做點專案,賺點零花錢。當然,如果你想成為一名自由工作者,程式設計師客棧也是可以滿足的。只要你有技術,不怕賺不到錢。很多程式設計師日常在這裡逛一下,接一點專案做。很多公司也在這釋出專案需求。
3. 掘金 — 幫助開發者成長的技術社群:
現在國內優質的開發者交流學習社群,可以去看大佬們寫的文章,也可以自己分享學習心的,與更多開發者交流。認識更多的小夥伴兒,提升個人影響力。
4. v2ex:
V2EX 是一個關於分享和探索的地方,上面有很多各大公司的員工,程式設計師。你想要的應有盡有。
5. 部落格園:
部落格園創立於2004年1月,是一個面向開發者的知識分享社群。自建立以來,部落格園一直致力並專注於為開發者打造一個純淨的技術交流社群,推動並幫助開發者透過網際網路分享知識,從而讓更多開發者從中受益。部落格園的使命是幫助開發者用程式碼改變世界。很多早期的高質量內容都在部落格園。
6. Medium:
國外優質文章網站,Medium 的整體結構非常簡單,容易讓使用者沉下心來專注於閱讀。上面有很多高質量的技術文章,有很多厲害的人在上面釋出內容。
7. Hacker News:
國外優質文章網站,上面有很多高質量的技術文章,有很多厲害的人在上面分享內容。
8. GeeksforGeeks:
GeeksforGeeks is a computer science portal for geeks。(感謝@三三白白的補充)
0. Google:
這個不用多說了吧,查資料,有問題,Google 一下。當然,能訪問的人自然會用,訪問不了的人,可以用必應或者百度吧。
1. 演算法學習 LintCode:
演算法學習網站,上去每天刷兩道演算法題,走遍天下都不怕。
2. 演算法學習 LeetCode:
也是演算法題網站,同上。
3. 演算法學習 LeetCode 中文站:
這個是上面演算法題網站的中文站點,英文不好的可以刷這個,英文好的推薦去刷英文網站的題目,還能提升英語能力。
4. 牛客網 — 面經和刷面試題:
各個公司的面試題和麵經分享,找工作前認真刷一刷,一定會有很大收穫!拿到心儀的 offer!
5. Web 開發練習題:
這是國外發起的一個 Web 開發學習的網站,從簡單到深入,一步一步帶你學習 Web 開發。就像一本練習冊,並且當你完成相應的內容後,會得到相應的資格認證。
6. 百度前端技術學院 — 前端開發專案庫:
學前端的看這裡,百度官方推出的前端開發學習技術學院,題目從簡單到困難,如果你把裡面的題都做會了,找個 BAT 的前端工作不成問題的。
1. 菜鳥教程:
菜鳥教程的 Slogan 為:學的不僅是技術,更是夢想! 記住:再牛逼的夢想也抵不住傻逼似的堅持!網站包括了HTML、CSS、Javascript、PHP、C、Python等各種基礎程式設計教程。
2. 中國大學MOOC網:
中國大學MOOC是由網易與高教社攜手推出的線上教育平臺,承接教育部國家精品開放課程任務,向大眾提供中國知名高校的MOOC課程。在這裡,每一個有意願提升自己的人都可以免費獲得更優質的高等教育。
-
4 # 陽江英語
買書自學!Java語言程式設計基礎篇 第8版 還是不錯的!不過敲程式碼要很耐心的!三天打魚兩天曬網是不行的!加油看好你喔
回覆列表
首先,要選擇一本相對基礎的程式語言書或者影片教程,現在網上有很多不錯的課程,多試聽幾個,找個適合自己的教程學習,學習的同時記得對基礎的語法進行標記和註釋,加強自己的理解。
然後,透過程式設計軟體,將課程中的基礎知識逐一進行試驗。程式設計是一門應用的課程,只有多練才能真正的掌握,只看書本相當於紙上談兵,在應用過程會發現很多問題,然後解決問題,這個過程才能真的學會。
最後,在學習的過程中,要把出現的及時做筆記,每個人的記憶是有期限的,經過不斷的強化記憶,才可以不斷提高。一定要多加練習,基礎的語法很簡單,關鍵是從量到質的一個轉變。