2012-03-11 78 views
0

當我學習我沒有寫複雜的Java代碼,我經常寫在記事本中的一些資源,我覺得對於一個給定的問題,有趣的調用堆棧。這些資源通常是方法或常量。學習資源範圍內的項目

下面是一個例子:

CONSTANT_NAME 
    com.company.common.context.business.Context.methodName1() 
     com.company.domain.web.controller.subdomain1.BusinessController.handleRequest(HttpServletRequest, HttpServletResponse) 
     com.company.domain.web.controller.subdomain2.BusinessController.handleRequest(HttpServletRequest, HttpServletResponse) 
     com.company.domain.web.controller.subdomain3.BusinessController.handleRequest(HttpServletRequest, HttpServletResponse) 
    com.company.common.context.business.Context.methodName2() 
     com.company.domain.web.controller.subdomain1.BusinessController.handleRequest(HttpServletRequest, HttpServletResponse) 
     com.company.domain.web.controller.subdomain3.BusinessController.handleRequest(HttpServletRequest, HttpServletResponse) 
     com.company.domain.web.controller.subdomain2.BusinessController.handleRequest(HttpServletRequest, HttpServletResponse) 
    com.company.common.context.business.Context.methodName3(Long, boolean) 
     com.company.domain.web.controller.services.ClassName.onSubmit(HttpServletRequest, HttpServletResponse, Object, BindException) 

爲此,我在Eclipse上的恆定/方法右擊並選擇「參考」,「工作區」(快捷鍵CTRL + Shift + G)。在「搜索」選項卡中,我右鍵單擊一個結果並選擇「複製限定名稱」。然後,我用適合的表格(第一個變量/方法沒有製表符和每個調用級別的附加製表符)將它複製到記事本中。如果一個方法由兩段代碼調用,則爲兩個調用方法的標準名稱添加相同的製表符。 結果看起來有點像java stacktraces。

爲什麼要這樣做?因爲我認爲它提供了關於一些資源的大量信息並允許知道它們在哪個執行環境中被使用。當然,這不適用於配置資源(例如xml配置文件)。

對於大型程序,這種操作會變得很麻煩。

如果我在Eclipse中使用調試模式,我可以得到一個有趣的堆棧跟蹤,當一個斷點被擊中,但是這僅僅是一個單一的情況下,我想更多的「抽象」當我學習的代碼。

你知道一些工具是否可以爲我做這種工作?

謝謝!

編輯:我發現做到這一點的最好辦法是:

  1. 就恆定/方法/變量「開放調用層次」。
  2. 使用「調用層次結構」視圖中的鍵盤箭頭擴展所有項目
  3. 右鍵單擊根項目並選擇「複製擴展層次結構」。

然後,您可以調用堆棧可以在記事本

+0

這不是一個真正的問題。看起來像一個討論話題。 – 2012-03-11 16:25:54

+0

好的,現在在文本末尾有一個明確的問題 – 2012-03-11 16:35:47

回答

1

學習我不知道我正確理解你的問題,但沒有「打開調用層次結構」(按Ctrl + Alt + H)做你想要什麼?

+0

它部分的確如此。我發現可以使用鍵盤箭頭來擴展所有項目,這正是我所需要的。謝謝你的評論 ! – 2012-03-21 13:23:46

1

如果我在Eclipse中使用調試模式,我可以得到一個有趣的堆棧跟蹤 當一個斷點被擊中,但是這僅僅是一個單一的情況下,我想 更多的「抽象」當我學習的代碼。

你知道一些工具是否可以爲我做這種工作?

不知道如果我得到你問究竟是什麼,但對研究特定的代碼部分,調試器會去,因爲你可以在代碼的每個使用情況下各部位正好步驟的最佳途徑。
對於更通用的東西,我會建議使用uml插件並創建各種類和關係圖自動
這可以幫助您在學習一個大型項目(由他人制作)時領先,而不僅僅是在一張紙上畫畫。例如。 EUML2是相當不錯的,並有一個免費版

+0

這真是一個很棒的工具。我的確在尋找這種工具。非常感謝您的回覆。 – 2012-03-17 17:25:32