JBuilder2005實現重構之重構前的偵察
有句英語諺語叫作"Look before you jump",在著手重構前,看看這個更改的影響度,以資決策,是一個不錯的主意。
1、查看定義
程序類之間是相互調用的,JBuilder可以方便你查看類、方法、值域的定義,將光標置于某一代碼元素上,按Ctrl+Enter快捷鍵或點擊右鍵,在彈出的菜單中選擇Find Definition,JBuilder將定位到該元素的定位處。
2、查看引用
類、方法、值域被定義后,其引用星灑在程序的不同地方,查看定義就象"游子尋根",而查看引用剛好相反,即從元素定義處查找所有的引用該元素的地方。將光標置于元素定義處,按Ctrl+Shift+Enter或都通過右鍵彈出的菜單,選擇Find References,JBuilder將工程中所有的引用列在信息窗格中,如下圖所示:
引用以樹形方式組織,這些引用以類為分組節點,其下是具體的引用之處。下表列出了樹中涉及到圖標的說明:
表 2 查詢引用結構圖標說明
除可以在工程范圍內查看引用外,也可以在當前的類范圍內查看引用關系:在元素定義處右鍵單擊,在彈出的菜單中選擇Find Local References菜單項。
3、查看覆蓋方法
在子類或接口的實現類中,將光標定位于覆蓋方法處,右鍵單擊,在彈出的菜單中選擇Find Overridden Method,將可以查看被當前方法覆蓋的祖先類方法。
1、查看定義
程序類之間是相互調用的,JBuilder可以方便你查看類、方法、值域的定義,將光標置于某一代碼元素上,按Ctrl+Enter快捷鍵或點擊右鍵,在彈出的菜單中選擇Find Definition,JBuilder將定位到該元素的定位處。
2、查看引用
類、方法、值域被定義后,其引用星灑在程序的不同地方,查看定義就象"游子尋根",而查看引用剛好相反,即從元素定義處查找所有的引用該元素的地方。將光標置于元素定義處,按Ctrl+Shift+Enter或都通過右鍵彈出的菜單,選擇Find References,JBuilder將工程中所有的引用列在信息窗格中,如下圖所示:
![]() 圖 3 引用查找結果 |
引用以樹形方式組織,這些引用以類為分組節點,其下是具體的引用之處。下表列出了樹中涉及到圖標的說明:
表 2 查詢引用結構圖標說明
| 查詢何種語義的引用 | 圖標說明 |
| 類、內部類、接口 | 1) 類的繼承體系2) 類型引用:類聲明或類對象的實例化。3) 繼承類型引用:當前類子孫類或引用這些子類的地方。4) 成員引用:當前類的成員。5) 子孫類成員引用:當前類子孫類的成員。 |
| 方法、構造函數 | 1) 聲明:當前方法聲明處。2) 直接調用:通過類對象實例調用。3) 間接調用:通過父類或子類對象實例間接調用。 |
| 值域、局部變量 | 1) 寫:更改值域或局域變量的地方。2) 讀:讀值域或局域變量的地方。 |
除可以在工程范圍內查看引用外,也可以在當前的類范圍內查看引用關系:在元素定義處右鍵單擊,在彈出的菜單中選擇Find Local References菜單項。
3、查看覆蓋方法
在子類或接口的實現類中,將光標定位于覆蓋方法處,右鍵單擊,在彈出的菜單中選擇Find Overridden Method,將可以查看被當前方法覆蓋的祖先類方法。

類的繼承體系
類型引用:類聲明或類對象的實例化。
繼承類型引用:當前類子孫類或引用這些子類的地方。
成員引用:當前類的成員。
子孫類成員引用:當前類子孫類的成員。
聲明:當前方法聲明處。
直接調用:通過類對象實例調用。
間接調用:通過父類或子類對象實例間接調用。
寫:更改值域或局域變量的地方。
讀:讀值域或局域變量的地方。