最近半年一直在看別人寫(xiě)的源代碼,總結(jié)一下這半年來(lái)看代碼的方法,希望大家有好的方法也多多交流。
開(kāi)發(fā)語(yǔ)言:Python+PyQt
開(kāi)發(fā)環(huán)境:eclipse+pydev
1、要有耐性,這個(gè)就不多說(shuō)了,也是作為程序員的基本職業(yè)素養(yǎng);
2、分析程序中所有的類,這里只是對(duì)各個(gè)類進(jìn)行一個(gè)簡(jiǎn)要的瀏覽,可以用Viso圖的方法來(lái)繪制。程序中有多少個(gè)類,每個(gè)類的大概功能都給標(biāo)注清楚,可能剛開(kāi)始的時(shí)候自己也就是猜測(cè)個(gè)大概,所以需要在以后閱讀代碼的過(guò)程中一直來(lái)維護(hù),不斷地進(jìn)行填充說(shuō)明。
3、按照源碼的業(yè)務(wù)線路和執(zhí)行線路來(lái)分別繪制源碼的流程圖,這個(gè)過(guò)程中要反復(fù)地進(jìn)行推敲和跟蹤,然后把源碼分為幾個(gè)大的模塊(最好是按照功能來(lái)劃分)。
4、分別對(duì)每個(gè)模塊中的各個(gè)類進(jìn)行分析,這個(gè)時(shí)候會(huì)涉及到對(duì)象之間的調(diào)用關(guān)系,也是最為讓人覺(jué)得比較厭煩的部分?梢杂靡粋(gè)word文檔,將每個(gè)類中搞不清楚的字段和函數(shù)都給記下來(lái)。隨著后續(xù)對(duì)各個(gè)類的分析,每個(gè)屬性和方法的含義會(huì)再自己的大腦中越來(lái)越清晰,這個(gè)過(guò)程是比較漫長(zhǎng)的,一定要注重持之以恒,不可三天打魚(yú)兩天曬網(wǎng),這樣只會(huì)讓自己局限在程序的開(kāi)頭部分,就想背英語(yǔ)單詞一樣,只是看到單詞書(shū)的前幾頁(yè)。
5、在對(duì)源碼進(jìn)行調(diào)試的過(guò)程中要多用打印語(yǔ)句,不清楚的地方就讓打印出來(lái),打印出來(lái)后一定要對(duì)結(jié)果進(jìn)行分析,多問(wèn)自己為什么。
6、要有一個(gè)好的心態(tài),不可太急躁,或許某個(gè)技術(shù)點(diǎn)你會(huì)為此花上一整天的時(shí)間,所以要保持一個(gè)好的心態(tài)。