為什麼你還是學不會程式設計

王平發表於2019-07-29

​常有小夥伴問我,怎麼學Python,學了語法為什麼還是寫不出程式碼。這個問題其實有點難回答,敷衍的回答就是:多看書、多練習、靈活運用搜尋引擎,這估計不是他想要的答案。想認真的回答真是要長篇大論的說一通,今天寫一篇文章來回答這個問題。

只要你腦子不笨,現在學程式設計已是越發傻瓜化,類似Python這類語言已經遮蔽了很多計算機底層知識,程式設計已不再是計算機科班出身的專屬。

缺失計算機系統知識那些我就不說了,你缺的是什麼,是練習,是堅持練習,是不斷的練習,不斷的coding。

為什麼你還是學不會程式設計

 

編碼量

以前還在大學讀書時,流行李開復老師說的一句話:大學畢業想找到一份不錯的程式設計工作,大學幾年的總編碼量要達到十萬行。

十萬行程式碼,是什麼概念,一個程式設計師一天的有效編碼量只有100-150行左右。十萬行程式碼意味著要寫666天,寫這十萬行程式碼要將近兩年時間,也就是從大二專業課開始你就要每天保持編碼直到大四。

對於計算機科班專業的人都要這樣高強度練習,才能找到一個不錯的工作。對於非計算機專業的你來說,光看下程式設計語法,寫下別人的示例程式碼,就想學會程式設計?除非你開掛了。

堅持練習,堅持寫程式碼,先從一個個小功能寫起,再寫一個個小專案;先寫一個10行程式碼量的程式,再寫50行程式碼量的,100行,200行程式碼量的。

不會就先抄別人的程式碼,照著一行一行的把程式碼敲下來,執行看看。不懂程式碼意思就每行加列印,每行列印出那些變數值,看看都是些什麼。

從我的觀察來看,能寫出一個200行Python程式碼量的程式,你基本就能熟練用Python做很多事情了。

所以給自己定一個目標,能達到寫出200行程式碼量的Python程式。

 

量變到質變

很多事情都有這個規律,比如學習英語,學習寫作等等,都需要大量的讀寫練習,抄錄別人的優美句子等等,到最後自己能寫出優美的文章。

寫程式碼也是這個規律,在不停的寫程式碼過程中,你會遇到很多問題,語法問題,邏輯問題,系統問題,需要你一一解決,這是在打怪升級,解決掉這些問題,這是從青銅到王者的修行。

在大量的編碼練習中,你會發現你以前寫的程式碼真爛,像一坨屎。你離王者就更近了一步,因為你不自覺中已在思考軟體工程了。軟體工程跟建築工程一樣,像修高樓大廈一樣,需要先設計,並且大型建築都是元件化,元件都按設計的要求來生產,運到工地就能組裝在一起。這樣大大節省提高工程效率。軟體也是這個道理,要把程式寫得模組化,只要把各種模組組裝在一起,就是一個完整的功能。

同時在大量的編碼練習中,你會發現程式效率不高,想要優化效率;你寫的程式很臃腫,你會像辦法把程式寫的漂亮一點。恭喜你,你已在思考資料結構了,悟性高的,自己就能悟出資料結構。像我們平凡人這個時候就會想到去補充下資料結構知識。

程式碼寫的漂亮與爛的差別就在軟體工程和資料結構上。美劇《矽谷》中那個巴基斯坦程式設計師因為對方的程式碼寫得很性感而看上她。最後發現那個程式碼不是她寫的,那個巴基斯坦程式設計師原來不是喜歡她,而是喜歡上了那個程式碼,就是這個道理。

當然我那會大學是學C語言,所以編碼量本就比較多。對於Python來說,我認為編碼練習量達到1萬行,就已能熟練運用Python做各種事情了。按每天150行程式碼量來計算,一萬行需要練習66.66天,即兩個月時間。你有這個耐心堅持練習兩個月嗎?

OK,希望這個建議對學習Python的小夥伴有點啟發。

 

PS:有小夥伴知道我這兩個月在教爬蟲,有幾個小夥伴在問我能否從零開始教Python。也是可以的,我用線上視訊的形式教,教你一個半月達到能用Python寫出100-200行程式碼量的程式。還有個好處是你遇到的技術問題,我也能給你提點,幫你解決。如果你能自學Python,我是建議你自學的,因為我收費不便宜,嘖嘖~~

 

關於我的過往文章:

分享我曾經的學習和找工作經歷

離開了工作六年的地方

我工作的前三年

我的私人微信,歡迎交流Python相關,請備註 讀者:

為什麼你還是學不會程式設計

猿人學banner宣傳圖

我的公眾號:猿人學 Python 上會分享更多心得體會,敬請關注。

***版權申明:若沒有特殊說明,文章皆是猿人學 yuanrenxue.com 原創,沒有猿人學授權,請勿以任何形式轉載。***

相關文章