-
1 # IT人劉俊明
-
2 # 會技術的葛大爺
學習程式設計自然是需要多寫程式碼的
這應該不光是程式設計吧,我們學任何東西都是一樣的。我如果要學習設計,那一定是經常勾勾畫畫,CoreDraw、Photoshop那一定是經常用,把很多常用的快捷鍵都記住,最後融會貫通。如果不經常聯絡使用,那估計畫直線都不一定能畫好。
程式設計自然也是一樣,因為語言本身其實並沒有什麼太大的難度,但是將語言程式設計一種工具,中間的過程並不是看看書,冥想一下就可以實現的。
作為一個程式設計師,其實我們在程式設計過程中用到最多的功能就是Debug。因為一個函式,可能包括是幾百行甚至上千行程式碼,人的大腦是有極限的,你很難100%的確定幾百上千行程式碼執行的過程中,你的大腦計算結果和程式的計算結果就是一模一樣的。
所以,我們在程式設計的過程中,還有大量的時間是用來發現問題並解決問題。當我們發現問題,解決問題的過程中,我們又會學習到很多的經驗和知識,未來我們再次面對類似的問題時,我們就能夠很好的避免出現同樣的錯誤。
而這個過程,一定是在不停的寫程式碼,不停的Debug,不停的思考過程中所帶來的成果。如果我們只是去看書,只是去在大腦裡模擬書上的內容,其實是無法系統化的對程式進行了解的。換一種說法,現在讓我們去寫一篇論文,那麼我們一定是先整理出大綱,然後在根據大綱補充內容,而補充內容的過程中我們也需要去嘗試,去翻閱一些書籍。就算論文寫出來了,後面也會有各種修改和補充,基本沒有一步到位的論文。
如果現在,讓我們不去寫,也沒有練習,只是通過“想”,就勾勒出一篇論文,這不是人力所能達到的範疇。所以,多寫程式碼可以說是程式設計師成長最最基本的。
當然,如果僅僅是不停的寫程式碼,也並不是就正確學習一定不是一個悶頭自己幹自己的過程,很多的知識、很多的學習方法其實前人都已經總結出來了。寫程式碼是通過實踐和其他人的知識轉化成為自己的一個過程,或者說是自己發現和印證自己理論的一個過程。
所以,我們在寫程式碼之前,還需要多去看別人的優秀程式碼,然後通過讀懂別人的程式碼,然後模仿別人的程式碼,最終實現自己能夠寫出這樣的程式碼。
我也簡單分析一下我個人曾經的學習經驗吧:
就拿我以前學“領域驅動設計”時的情況來舉例吧。我最開始是在一些技術討論的QQ群裡面第一次瞭解到的領域驅動設計,也就是DDD。當時我對於DDD還什麼都不懂,於是對這種架構模式產生了濃厚的興趣。
首先,我去了一些線上的知識庫,瞭解了一些DDD的基本概念;
然後,在京東上買了兩本書,《領域驅動設計模式、原理與實踐》和《實現領域驅動設計 》。顯示較快速的讀了一下這兩本書,不需要說記住這些知識,只是做一個大概的瞭解;
所以,我學習的方法基本就是先了解知識域,然後在寫程式碼的過程中慢慢學習,慢慢提高。寫程式碼的過程是必不可少的,而且可以說是花時間最多的,因為很多知識點,不自己動手做一下,很難能夠理解為什麼?
-
3 # 特斯拉極光
也說一說個人經驗,給許許多多剛接觸程式設計的網友一些助力。
首先學習程式設計就要做好吃苦準備。程式設計設計內容廣泛,比如數字,演算法,資料結構,計算機原理等等。多敲程式碼只是一個很小很小的環節,而且這敲程式碼的是必要的,一定多敲。
-
4 # 巨集盟空間
程式設計是一項技術活,有什麼技術活能夠只看書就掌握的呢,要邊學邊用,才能熟能生巧,多敲程式碼才能多出bug,多解決bug程式設計能力才能提升
-
5 # 數控程式設計小邱
多敲程式碼是實踐過程,肯定是不能少的,但是現代程式設計方法和設計模式更重要,這些是理論,要用理論來指導實踐,這樣你才能敲出有用的、精煉的、高效的程式碼。
-
6 # 胖哥科技圈
我認為這個問題只對了一半,學程式設計是要帶著自己的思路去多敲有效程式碼。試想天天敲hello world這樣重複的無效程式碼,就算您敲爛無數鍵盤,技術還是得不到提升!那如何正確的學習程式設計呢?
-
7 # 珠海樂小澤
第一,學程式設計是多敲程式碼,這個答案是肯定的,因為就算你看了再多的書,不自己去敲程式碼去實現,那樣都是空中樓閣的,因為只有經過動手去操作,那樣才能轉化為能力。
第二,敲程式碼的前提是要你把書本的知識都有個大概的瞭解,我說的是大概的瞭解,其實不需要整本書都完全看完才開始,建議邊看邊敲了。
第三,只有真實地敲程式碼,在真實環境上執行,才能知道環境上會出現什麼bug,才好解決,解決了就增加記憶。
第四,程式設計師其實是累計程式碼的過程,越寫得多,以後程式碼的複用就越來越多。
-
8 # 飾界時尚
我理解的程式設計,應是一個創作過程。當然這過程是根據創作作品的難易來確定時間週期與工作量。
敲程式碼應是創作過程的一種體現。就算寫一篇小說,碼字是一個寫作過程的體現。
因此我理解的學程式設計的重點應是創作作品的架構搭建與邏輯疏理。就象一部電影,一部小說,架構及呈現邏輯才是能否產出好作品的關鍵。
因此,我理解敲程式碼只是程式設計中最基礎的部分。當然,多敲程式碼對熟悉程式設計應有幫助,但不是其的重點。
行外漢胡言亂語,不知是否有這點邏輯,望指正
-
9 # 小羊AI
我剛開始學習的時候是看別人的程式碼,慢慢的才嘗試開始自己寫,寫的多了之後發現自己也能寫出像別人寫的那樣的程式碼。所以多練習確實幫助很大。
-
10 # 秒懂程式設計
好的狙擊手都是子彈喂出來的。學程式設計不像武俠小說裡那樣——你轉過身去,背對著師傅,師父出掌,一縷青煙飄過,你瞬間就有了師父70年的內力(題外話,師父欣慰的走了)。
其實,真實的習武也是夏練三伏,冬練三九這樣出來的。俗話說曲不離口,拳不離手。寫程式碼也是這樣。多敲程式碼一能熟悉語法,二能鍛鍊語感。
但是切記不要只做程式碼的搬運工。還是要多看高手程式碼,學習他們解決問題思路演算法,程式碼風格,錯誤處理,人性化處理的地方。不要過度依賴工具和框架,動手的時候還要多思考,都分析。
時間長了,你感覺寫程式碼就像和女朋友聊天一樣就好了。做一個有修養的程式設計師,從多敲有修養的程式碼開始吧。
回覆列表
這是很多程式設計初學者比較關心的問題,作為一名IT從業者,同時也是一名計算機專業的教育工作者,我來回答一下。
首先,程式語言說到底就是一門工具,在學習程式設計的過程中,只有多做實驗才能慢慢對程式語言當中的抽象概念建立起畫面感,從而形成自己的程式設計思想。所以說,學習程式設計的過程一定要多做實驗、多敲程式碼,如果說學習程式設計有什麼捷徑的話,那麼多做實驗本身就是一種學習程式語言的捷徑。
在學習程式設計的過程中,一方面要多敲程式碼,另一方面在實驗的選取上,還需要注意以下幾個方面的內容:
第一:實驗要有針對性。程式設計實驗要根據學習者的實際情況,進行鍼對性選擇,在學習的初期主要以驗證抽象概念為主,主要是通過各種實驗來掌握程式設計過程,以及程式語言自身的各種特點。
以Java語言為例,作為典型的面向物件程式語言,Java語言自身的抽象程度還是比較高的,在學習的初期一定要通過實驗來掌握類、介面、物件、封裝、多型等核心概念,對於這些概念的理解是後續學習的重要基礎。在學習的初期,實驗並不要追求程式碼量,而是要重視程式碼自身所能夠描述的概念。在學習Java、Python、C++等面向物件程式語言時,一定要重視對於各種抽象的理解,而實驗是理解抽象最為便利的方式之一。
第二:實驗要有層次。在準備實驗的過程中,還需要重視實驗的層次要逐漸推進,早期以驗證概念為主,中期以建立程式設計思想為主,後期以應用為主。早期的程式設計實驗要注重驗證,以建立抽象概念的畫面為主,此時要重視對於概念本身的理解。
中期的程式設計實驗要重視對於概念的延伸,包括如何通過程式設計來延伸對於概念的理解,這個過程還是非常重要的。以Java語言為例,中期的程式設計實驗要重視一些綜合性實驗,比如如何通過Java來連線外部資源,包括資料庫等等,這個過程還需要加強總結,從而形成自身的程式設計思想。
第三:實驗要結合實際場景。在程式設計實驗的最後一個階段,要特別重視程式設計與場景的結合,不同的場景對於程式設計的要求是不同的,本身程式語言也有非常強的環境屬性,而在結合場景的過程中,也可以積累大量的實踐程式設計經驗。對於程式設計的初學者來說,往往會選擇一個主攻方向,比如Web開發、移動網際網路開發、大資料開發、人工智慧開發等等,不同的開發方向會有相應的開發場景,一定要重視對於這些開發場景的瞭解。
Java、Python、C#等語言是比較典型的全場景開發語言,但是這些程式語言在不同的場景下,也需要掌握不同的API和程式設計方式,所以即使學習全場景程式語言,也要重視對於不同場景下的程式設計實驗。
最後,對於程式設計的初學者來說,除了要重視多敲程式碼之外,還需要重視案例的學習和交流,通過一些優秀的開發案例能夠幫助自己養成一個良好的程式設計習慣,這對於後續的團隊合作會有比較積極的影響,另外通過與有經驗的開發專家進行交流,也會獲得很多有價值的學習建議。
我從事網際網路行業多年,目前也在帶計算機專業的研究生,主要的研究方向集中在大資料和人工智慧領域,我會陸續寫一些關於網際網路技術方面的文章,感興趣的朋友可以關注我,相信一定會有所收穫。