程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> JAVA編程 >> 關於JAVA >> 詳解Eclipse Galileo中的快速Java編碼

詳解Eclipse Galileo中的快速Java編碼

編輯:關於JAVA

問題

無論您的項目或團隊的規模有多大,在編輯代碼庫時,都會遇到如下的兩 個問題:

代碼模板
盡管代碼模板是提高工作效率的一個理想途徑,但需要確 保不能用模板來替代真正的重用,即編寫方法或函數以便將它們用於許多位置。如果您有 一大段代碼,那麼最好在使用代碼模板前先考慮采用帶有變量的各種方法。

缺乏 一致性 — 當團隊中的很多人編輯文件時,難免會有編碼上的些許差異,但這些差 異會使代碼變得難於讀懂和維護。這種情況下,很難搜索到代碼差異在何處發生。即便代 碼是您一個人寫的,如果您忘記了前面代碼是如何編寫的,那麼差異也很有可能發生。

工作效率不高 — 減少按鍵次數可以節省很多時間,因為編輯代碼的主要工 作還是打字。鍵入或是復制、粘貼大段的代碼以使其適於當前的上下文會花費很多時間。

在使用模板前,一個常用的、手動提高代碼一致性和工作效率的方法就是復制和 粘貼。通過在現有的代碼庫 — 或是 Internet — 上進行搜索並復制最接近 您想要實現的功能的代碼。然後再根據您的具體應用程序的需要對其進行部分修改。

解決方案:使用模板

Eclipse 中的模板是預先定義的代碼清單,其中會包 含一些在使用時不會改變的代碼。例如,Java™ 代碼中的 for 循環都是用相同的 方法構建的,無論該循環用在何處,除非是循環的 inside 條件或變量有所變化。一個模 板總是包含一些不變的部分,並為需要改變的部分使用變量。

Eclipse 中的模板是預先定義的代碼清單,其中會包含一些在使用時不會改變的代碼 。例如,Java™ 代碼中的 for 循環都是用相同的方法構建的,無論該循環用在何 處,除非是循環的 inside 條件或變量有所變化。一個模板總是包含一些不變的部分,並 為需要改變的部分使用變量。

使用 Eclipse 中的模板是解決一致性和工作效率問 題的一種很好的方法。有了模板,您只需編寫一次代碼就可以放心地將它應用於整個應用 程序了。您甚至可以不用再去想它,這也是使用模板的一個優勢。

本文將介紹如 何:

調用模板

編輯模板

創建模板

利用模板中的變量

導出模板

導入模板

調用模板

調用模板十分容易。當在編輯 器中進行輸入時,開始鍵入模板的名稱並使用 Ctrl+Space 來調用代碼完成功能。名稱與 所鍵入內容相匹配的模板就會出現在列表中(參見圖 1)。

圖 1. 從列表中選擇 模板

如果 再次按 Ctrl+Space,Eclipse 就會循環遍歷模板的類型。

要插入一個模板,使用 箭頭鍵從列表中選擇此模板並按 Enter。也可以使用鼠標雙擊出現在列表內的模板的名稱 。

模板插入後,您可以鍵入各變量的值。使用 Tab 鍵來從一個變量轉到另一個變 量。

編輯模板

要編輯一個模板,需要通過選擇 Window > Preferences 打開 Eclipse Preferences。轉到 Java > Editor > Templates 以查看現有的模 板。要編輯一個現有的模板,單擊列表中的這個模板並單擊 Edit。Edit Template 窗口 會隨即出現(參見圖 2)。

圖 2. 編輯模板

表 1 列出了 Edit Template 窗口中的各字段。

表 1. Edit Template 窗口中的字段描 述

字段 描述 Name 模板的名稱 Context 模板的上下文。Eclipse 將模板的選擇限定於對該 上下文有效的那些模板。比如,如果編輯的是 XML 文件,那麼絕對不會出現 Java 語句 。 Automatically insert 如果選中,Eclipse 在模板的全 部名稱輸入完畢且調用了模板插入後(比如按 Ctrl+Space)自動插入一個模板。 Description 描述模板並會出現在下拉列表中。描述有助於 識別該模板,因為模板名稱並不需要惟一。 Pattern 作為模 板插入的實際代碼,包括需要 Eclipse 解析的全部變量。

可 以編輯模板的值,並且在完成編輯後,單擊 OK。要在編輯模板的同時插入一個內置的變 量,可以單擊 Insert Variable。查閱 “Taking advantage of variables in templates” 更多地了解可用的變量。

創建一個模板

要創建一個模 板,單擊 New。根據 “編輯一個模板” 部分中的介紹編輯值並且在完成後單 擊 OK。新模板現在出現在列表內。在完成後,單擊 OK 以編輯文件。

利用模板內 的變量

使用模板的一個最大的挑戰是要知道當被插入到代碼內時這些內置變量被 解析成什麼。這些變量可自動插入諸如當前類型名稱、光標位置或所選值這樣的內容。變 量會使模板更為動態並會減少在模板插入後需要對模板進行的手動更改的工作量。

以清單 1 內的模板代碼為例。

清單 1. 面向登錄聲明的模板

${imp:import(java.util.logging.Logger)} 
private static  Logger logger = Logger.getLogger(${enclosing_type}.class.getName ());

在被插入到 Automobile 類後,代碼將如清單 2 所示。

清單 2. 在插入登錄聲明後的 Automobile 類

private static Logger logger =  Logger.getLogger(Automobile.class.getName());

可以看到,類的名 稱已經為您解析好了。這無疑好過復制粘貼方式,因為在後一種方式中,您很可能會忘記 更新類的名稱。由於在聲明中即便有不正確的類名,也不會拋出編譯錯誤,因此您很可能 發現不了這個錯誤,直到您查看日志才會奇怪為什麼這些聲明沒有在它們該在的位置。

此 Logger 的導入聲明是自動地為 Logger 添加在這個類的頂端的。

表 2 列出並描述了 Eclipse 所帶的針對這些 Java 模板的內置變量。

表 2. Eclipse 針對 Java 模板的內置變量

變量 描述 示例 cursor 將編輯器的光標放在這個位置。 N/A date 插入當前日期。 Oct 20, 2009 dollar 插入貨幣的文字符號。 $ elemType 嘗試猜測具有給定 ID 的這個元素的 類型。 MyType enclosing_method 插入模板被插入 其中的那個方法的名稱。 method() enclosing_method_arguments 為包圍方法插入參數。 arg1, arg2 enclosing_package 插入當前類的包 名。 com.example.ui enclosing_project 插入包 含所編輯的這個類的項目的名稱。 myProject enclosing_type 插入正在編輯的類型 (類)的名稱。 MyType exception_variable_name 插入一個異常 變量名稱,進行最佳猜測。 e, ioe file 文件的簡 稱。 MyType.java import 如果尚未導入,那麼針 對給定類型插入一個導入聲明。 import com.example.ui.MyOtherType importStatic 與 import 相 同,只不過是靜態導入。 import static com.example.ui.MyOtherType.* line_selection 將選中的 行插入到這裡。這對用模板包裝行是很有用的。 以選中行作為主體的 do、 while 循環 primary_type_name 沒有擴展名的文件簡稱。 MyType time 插入當前的時間。 9:09:35 a.m. todo 注釋中的 TODO 標記。 TODO user 當前用戶的名字。 ngood var 解析為本地變量,如果不只一個,就提 供一個列表。 myvar word_selection 插入當前選 中的單詞。 N/A year 將現在的年份插入到代碼中 。 2009

變量的另一個很棒的特性就是您可以自己創 建一個。它們並不會自動地解析成任何值。不過,在模板插入後,您即可以將值輸入到模 板內。在鍵入到變量中時,所鍵入的值就會被插入到該變量出現在代碼中的所有位置。請 看清單 3 中的模板。

清單 3. 創建您自己的變量

public void  test${my_variable}() {
  String expected = "value";
   ${my_object}.set${my_variable}(expected);
  assertEquals("${message}",  expected, ${my_object}.get${my_variable});
}

在插入了模板 後,它應該類似圖 3。

圖 3. 自動插入值

您只 需要鍵入第一個值,其余的值會自動替換。完成後,按 Tab 移到下一個變量。

導 出模板

為了與他人共享模板,可以將這些模板導出到一個文件。這個文件是一個 XML 文件,內含模板信息並可被導入到 Eclipse 的其他實例。

要導出一個模板, 選中此模板並單擊 Export。Eclipse 會提示您提供保存此文件的位置。完成導出模板後 ,單擊 OK 關閉這個 Preferences 窗口。

導入模板

團隊共享
作為 一個技術主管,我有時會將我的模板放入一個源代碼控制存儲庫內供團隊中的其他成員訪 問。

還可以從包含有導出模板的這個文件中導入模板。要導入一個模板,單擊 Import。Eclipse 會提示您給出要從中導入的文件。

在導入想要的模板後,單擊 OK。現在您就可將新的模板導入到編輯器中了。

結束語

Eclipse 內的代碼 模板是一種提高工作效率和應用程序一致性的有效方式。您可以構建自己使用的代碼模板 以便能夠在編輯代碼的同時輕松地將常用部分插入到您的代碼內。您還可以在代碼內定義 變量以便自動地將類型的名稱、方法甚至是選中的代碼插入到您的模板內。有了自己喜歡 的模板後,就可以通過將模板導出和導入到 Eclipse 來共享這些模板。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved