編程學(xué)習(xí)方法有哪些
編程就是讓計(jì)算機(jī)為解決某個(gè)問題而使用某種程序設(shè)計(jì)語言編寫程序代碼,并最終得到相應(yīng)結(jié)果的過程。那么,編程學(xué)習(xí)方法有哪些?
編程學(xué)習(xí)方法
第一步. 首先:大致掌握它實(shí)現(xiàn)的原理機(jī)制,只求大概的輪廓。(好比老師在課堂上告訴我們二叉樹是怎么實(shí)現(xiàn)的一樣,一個(gè)模糊的概念)
第二步.其次:大致看看它的代碼實(shí)現(xiàn)機(jī)制,也同樣只求知道大致是如何通過代碼實(shí)現(xiàn)的。(為什么說大致:因?yàn)槲覀兩险n時(shí)候看老師講解代碼也是覺得思路很清晰很明了,簡(jiǎn)單。但是課后卻發(fā)現(xiàn),自己不知道該如何下筆)所以這一步:到這個(gè)水平即可,因?yàn)橛邢旅嬉恍┎襟E。呵呵
第三步. 3: 這次,我們需要準(zhǔn)備一本筆記本和筆了,這次我們可要?jiǎng)诱娓竦娜タ催@些代碼是如何實(shí)現(xiàn)的了,不僅僅求知道個(gè)大致,還要努力的去分析為什么這一行代碼要這樣做,自己通過自己的判斷,去解釋一下:這樣就可以加深我們的印象,理解得更透徹。(我說的抽象嗎,好吧,我打個(gè)比方,如下:)
例如:list類,我們可以發(fā)現(xiàn)c++的list類中,大部分的函數(shù)之前的工作就是要判斷 其size是否==0,如果==0,那說明我們的list內(nèi)部鏈表指針是NULL,沒有數(shù)據(jù)的。
但大家仔細(xì)思考:指針也可以用if(NULL == ptr)來判斷是否為空,為什么不用呢? 原因就是list內(nèi)部成員有個(gè)很好的統(tǒng)計(jì)數(shù)據(jù)的機(jī)制size ,這樣我們就可以了解到:為什么list的成員函數(shù)要用size來判斷而不用 指針==NULL 來判斷了。(看似這么小的一個(gè)細(xì)節(jié),如果大家不怎么去注意,去用自己的話理解一遍,可以到時(shí)候自己重新實(shí)現(xiàn)這么一個(gè)Stl的list類的時(shí)候,發(fā)揮不出這么一個(gè)size的作用了,也比較直觀。呵呵)
如同上邊一樣,我們把每句代碼都分析一遍,用自己的思維方式,加深印象之后,慢慢的一個(gè)編程的思路、手段也就這么的提高了。然后把自己從中感覺到的一些重要的編程思想給寫到筆記本上邊去,一遍日后復(fù)習(xí)個(gè)7-8次,我想:如此的認(rèn)真,再這么復(fù)雜的代碼你會(huì)搞不定? 別忘記了:要多練習(xí),在練習(xí)中去理解,去排錯(cuò)更能提高自己。
分析完了,別忘記日后幾天要加以復(fù)習(xí),如果你想它成為自己的知識(shí),那么這么干吧。過了這么一個(gè)階段,日后忘記了,這次的分析也白費(fèi)了。
第四步. 4 用自己的理解,總體的把這個(gè) 實(shí)現(xiàn)(類/算法) 概述出來,說說他的核心是什么,精華是那一個(gè)部分
第五步. 5不看例子,自己打出來。
(其實(shí)以上五部分得有點(diǎn)細(xì),大體就3步走,只是寫文章的人寫著寫著又冒出一些新花樣來,本來很簡(jiǎn)單的事情,又弄復(fù)雜了。呵呵)