5、Javadoc注釋沖突
Javadoc注釋是對源碼程序的說明,所以注釋必須和源程序保持一致。假設一個方法共有兩個入參,但對應的Javadoc僅對其中一個入參用@param進行了說明,兩者出現了不一致,這時就出現了注釋沖突。JBuilder能夠檢查出這種不一致的沖突,結構窗格樹中將出現一個Javadoc Conflicts的文件夾,報告當前Java文件中所有的注釋沖突,如下圖所示:
圖20 Javadoc沖突報告
每條沖突注釋不但給出了沖突原因的簡要描述,還指定了沖突發生的位置。你可以點擊某沖突項,在彈出的對話框中選擇Fix Javadoc Conflict for "XXX"修復這個沖突。你也可以右擊Javadoc Conflicts文件夾,在彈出的菜單中選擇Fix Javadoc Conflicts修復全部的沖突。
注意:
Javadoc沖突只有在Errors文件夾中所有的語法錯誤都已經得到解決後才會報告出來。
6、todo標簽
todo是JBuilder自定義的標簽,但它並不用於生成Javadoc文檔的內容。它相當於一個"助記符",表示此處有一個未完成的工作或一個待改進的工作,方便日後檢索和處理這些未盡之事。
當前程序文件中的所有todo標簽歸結在結構窗格的To Do文件夾下。假設我們在Person.java中添加兩個todo標簽,如下所示:
1. …
2. public class Person implements Serializable
3. {
4. public Person(String name ,int sex) throws PersonArgumentException
5. {
6. if(sex != MALE && sex != FEMALE)
7. throw new PersonArgumentException("參數不正確");
8. /** @todo 還需做更多的校驗 */
9. this.name = name;
10. this.sex = sex;
11. }
12. …
13. /**
14. * 設置性別
15. * @param sex int
16. */
17. public void setSex(int sex)
18. {
19. /** @todo 需要對入參做判斷 */
20. this.sex = sex;
21. }
22. }
在第8、19行添加上兩個todo標簽。todo標簽可以放在程序的任何地方,而不象Javadoc標簽一樣必須放置在類、接口、方法等定義語句的前面。此時,這兩個todo標簽都將出現在結構窗格的To Do文件夾下,如下圖所示:
圖21 To Do文件夾
點擊To Do文件夾下的項目,編輯器定位到代碼中相應的位置。
如果你在工程的許多地方都插入了todo標簽,如何查看檢索查看它們呢?通過Search->View Todos,信息窗格中將列出工程中所有的todo標記,如下圖所示:
圖22 工程或工程組中所有todo標記
不但包含了todo的注釋信息,結果列表中還列出了標記所在的程序文件及目錄。你可以在Comment contains中輸入關鍵字對todo標記的注釋進行查詢過濾。
3、自定義的Javadoc標簽
JBuilder允許你為了實現特殊的用途自定義擴展的Javadoc標簽。在這小節裡,我們來定義一個名為notice的自定義標簽。
1.Project->Project Properties...->Build->Javadoc,在Javadoc設置頁中列出了所有自定義的Javadoc標簽。由於todo標簽是JBuilder本身自定義標簽,所以todo出現在列表中,如下圖所示:
圖12 Javadoc自定義標簽設置頁
2.按New...按鈕,彈出Create Custom Tag對話框,如下圖所示:
圖13 創建自定義Javadoc標簽對話框
·Tag name:notice,標簽名
·Heading Text:出現在Javadoc 文檔中的標題。
·Placement options:選擇所有的選項,表示這個標簽可以對代碼中的任何類型元素進行注釋。
3.按OK創建這個notice自定義標簽。
打開Person.java用notice標簽為sex值域寫Javadoc注釋:
1) /**@notice 這是用於表示性別的變量,合法值只能為MALE和FEMALE*/
2) protected int sex;
對應的Javadoc文檔如下圖所示的文檔:
圖14 自定義Javadoc標簽生成的文檔
其中"注意"為Create Custom Tag對話框中的Heading text的內容,在上圖中我們特地標識出來。
4、使用代碼模板
在第4章中我們曾經介紹過代碼模板,你同樣可以為常用的注釋塊創建一個Javadoc模板,"多快好省"地錄入Javadoc注釋。
按照習慣方式,每個類都需要一個類注釋,類注釋都是相似的,下面我們就來創建一個類注釋代碼模板,這個代碼模板如下所示:
代碼清單 2 類注釋代碼模板
1. /**
2. * <pre>|</pre>
3. * @see
4. * @version $Version, 2005-04-|
5. * @author $Author
6. * @since JDK1.3
7. */
1) Tools->Perferences...->Editor->Templates->Common,點擊Common設置頁的Add...按鈕,彈出New Code Template對話框,如下圖所示:
圖15 創建新代碼模板對話框
·Template name:clscmt 模板的名字
·Description:class’s comment 模板描述信息
2) 在Code中錄入代碼清單 2的代碼,其中帶$前綴的標識是一個宏操作符,在調整模板錄入注釋塊後,宏將被替換成具體的值,你可以通過Macro...按鈕,在Insert Macro對話框中選擇一個宏,如下圖所示:
圖16 插入宏對話框
3) 錄入代碼模板後,按OK返回Common設置頁,再按OK後完成創建clscmt代碼模板。
創建完clscmt模板後,你就可以在編輯器中用Ctrl+J調用這個模板了,如下圖所示:
圖17 調用clscmt代碼模板
錄入clscmt代碼模板後,將產生一個類注釋塊,原$Author和$Version宏已經被替換成Project->Project Properties...->General設置頁的class Javadoc fields列表中所設置的值了,如下圖所示:
圖18 用代碼模板錄入Javadoc注釋塊
此時,General設置頁的class Javadoc fields列表的設置情況如下圖所示:
圖19 Javadoc域設置