如何閱讀java專案的原始碼

下一個五年發表於2012-09-19


1、最好了解UML語言;
2、瞭解程式碼大致結構,再根據模組詳細去看,效果會好一些。
3、每天敲上1千行。。就可以了。。。習慣了就好了。。。慢慢來。。。  

 

比如說 你看書看累了 寫個小程式放鬆下(一般別人是玩遊戲放鬆)- -這樣你就可以瞭解你要看的程式碼的功能和所用的框架技術,這樣在熟悉的基礎上就能得心應手了。

 

不過,我可不相信什麼一天敲多少行的程式碼,你要有目的性的敲,有目的性的敲10行比沒目的性的敲100行還有用。什麼是有目的性的就要你自己去摸索了。
最後給你提醒下,千萬不要相信什麼好的程式設計師要敲幾十萬行或幾百萬行的程式碼,沒用,都是屁話,你要有知識進去才有用。
如果對所看的領域不熟悉,可以試著分解專案,找出真正不懂的部分,對比以前的知識儲備對比著看

先從整體著手。瞭解整體框架。再著眼每個細節。

4、先看整體結構,把握思路理解類的作用,然後有必要的話再琢磨細節。
5、先隨便拿本java入門書看完,書上的例子照著做完,哪怕抄,要都能理解,然後開始去找例子,先從最小的例子開始看,然後自己寫,然後自己加一些自己的想法,有了這些基礎再去看別人寫的例子,去了解別人的思想,然後轉換成自己的,慢慢的你會進步非常的神速。

6、首先要使用幫助分析程式碼框架的工具,如VC中的class view。我認為這樣至少可以減少初看長程式碼者的很多麻煩,方便熟悉程式碼的基本框架。

然後是要帶著問題去看,藉助上述對框架的理解就比較容易能找到一些感興趣的程式碼段,此時就可以細細品位了。


7、閱讀程式碼起初不是件容易的事,要先選點程式碼量不大且自己較能理解的程式碼來練習閱讀能力。一開始就拿個LINUX核心那樣的“天書”來,我相信不是每個凡人都能輕易看懂的。
8、學習 原始碼 很是枯燥,我也看一些原始碼,特別是一個一個檔案的檢視,最後,我發現,要想快速瞭解像jdk,tomcat,hibernate這樣的原始碼,必須得藉助工具,首相從整體出發,瞭解整體框架,然後,在注重細節,我推薦使用Rose,powerdesign 或者source insight 都可以啊
9、先找到main函式,然後一個個接著看 

 

10、教教你怎麼看原始碼吧

1.這是什麼專案的原始碼?
(再沒有文件這個總是有的吧?哪怕是個代號)
2.這個專案的性質
 (B/S還是C/S,用的什麼程式語言,用的行業細分,規模)
3.原始碼的規模
  有多少行(其中有多少行是註釋),總共有多少個檔案(每一類檔案分別有多少個,每個檔案是多少行)
  如果是物件導向的,有多少個class,如果是程式導向的有多少個function
4.功能的詳細整理
  功能列表
  函式名   功能   功能描述
  (沒有註釋不要緊,函式名總是有的吧,功能你認為是什麼就填什麼)
5.功能模組之間的關係
  (哪怕沒有註釋,按名稱,呼叫關係一定能整理清楚)
如果你把我上面列的5點搞清楚了,再來抱怨,我想應該是下面這個樣子:

如果這個程式碼能夠執行,你可以先讓它執行起來,這樣直觀一些。 
如果不能執行,我相信原始碼一定會在某種程度上告訴你這個原始碼是做什麼的,哪怕沒有任何文件和註釋,相信我,一定比混淆後的程式碼容易看懂。 


還有,這些原始碼呼叫的最基本的API都是有文件的。 
例如不知道a是做什麼的,但知道a呼叫了b,b呼叫了寫檔案的api, 
你可以暫時這樣理解,a做的某一件事就是呼叫b寫檔案。 


等你對這些a,b,c之間的關係瞭解得越來越多之後,實現原理也就基本清楚了。 

 

也有可能程式碼用了一個比較複雜的演算法,並沒有在旁邊寫上這個演算法的名字(如果有名字,肯定是一個很大的幫助),碰巧這個演算法你沒有用過,這時你可以把這段程式的步驟用文字描述出來。

相關文章