如何正確的去看源碼 而不心浮氣躁?
我是暑假開始自學java 先是head first java 看過了一邊 感覺上基本入了門了 後來看知友推薦 看thinking in java 第一遍看到一半太難不看了 之後又看了一遍 終於看完了 現在在網上下了個俄羅斯方塊的源碼 有十幾個類 看的好煩 不怕大家笑話 真心求大神點醒 這是怎麼一回事
-------------------------------------------------謝謝各位知友 這俄羅斯方塊實在 太複雜 我打算重新找本書看看。謝謝!
假如讓你找到一個破綻(或者bug)獎勵 100 萬,保證你會跟狗找骨頭一樣超級靈敏準確。
動機永遠是關鍵,尤其對這種容易無聊又難有頭緒的事情。
其次才是一些工具和方法,和1296條注意事項。題主,相信你看了這麼答案。回頭還是毫無頭緒的,看著你,多像曾經的我啊。老實說,太急了。最老實的回答:去書店,重新買一本 Java 基礎書籍吧,重新再看一遍,再看一遍。
少年,看來我們是同道中人。遙想當年,我也是看別人代碼,看的心浮氣躁。
為什麼看的心浮氣躁1,沒有目的性的看。光是看類名,類裡面的屬性名,方法名,你能背記幾個下來?知道是什麼意思嗎?
2,當你看到,你不熟悉的API的時候,心裏面就給自己打退堂鼓,就無心在閱讀了。3,基礎不牢固,我就看見一個連override和overload ,extends都沒搞懂的就開始寫代碼了,你說他如何看的懂別人寫的代碼----------總結:方法不對,不敢嘗試API,基礎不牢固 --------------------------
----------回歸正題:如何看別寫的代碼----------------------------------------------------------------------
1, 先看設計文檔和API文檔,不然簡直無法理解那麼大的東西
2,軟體一般都分層和模塊,找到你的切入點然後從了解這一層這一模塊入手,最好準備紙和筆記錄一下你的過程,方便被某些事情打斷後更容易的繼續。
3,打斷點跟蹤
-----------現場演示講解如何看別人寫的代碼 ---------------------------------
環境如下IDE : Myeclipse 6.0JDK: 1.6Tomcat:apache-tomcat-6.0.26框架 :spring+springMVC+hibernate
注意:軟體一般都分層和模塊,而我們這裡項目也是 分層,分模塊。找到你的切入點,然後打斷點
如:在火狐瀏覽器下,當滑鼠移動 「最新活動」上,火狐下就會提示,當點擊"最新活動"會向 localhost:9080/caixiaoyuan_list.html?flag=9 發送請求 。剩下要做的就是,找到 action打斷點,看到如何處理的學習Java是有很成熟的路徑參照的,可以參考蔡學鏞的《java夜未眠》中的一篇文章,或者從網上找馬士兵關於學習java的進階路線。大致如下,javase(各種基礎)-javaee(各種框架)-設計模式-java虛擬機實際操作中有很多擴展開的地方,比如設計模式學習哪些呀?到達什麼程度啊?比如框架學習哪些?mvc三層各掌握哪些要點?也有很多節點,比如學完javase要做一個計算器什麼的,學完javaee做個小留言板。看書,如果是剛上手 可以結合學習視頻看書,開始看些國產的書,後面多看外國的,推薦幾本,《java核心編程》,《java編程思想》(任何階段都可以看,神書),《23種設計模式》,《jvm詳解》。
看代碼要看兩個東西:
- 程序結構、框架
- 入口(網站可能沒有)
看代碼肯定得有源碼,還得能運行。
發布項目,然後從想要看的地方入手,用debug工具分析變數和調用,一步步讀代碼debug工具很重要!2種情況: 1、在荒島上實在沒有東西看了。2、寫相同的 程序碰到問題了 。
看源碼的關鍵在於, 帶著問題去看. 漫無目的的看是一定看不下去的.
推薦閱讀:
※高斯過程回歸的matlab代碼調試,不知道怎麼設置參數,沒有出現預期效果?
※如何有效率地閱讀源碼以及修改源碼的技巧?
※讀源碼要注意哪些方面?有哪些值得推薦的經典源碼?
※閱讀django源代碼?
※HashMap的doubleCapacity()方法這樣寫妙在哪?