|
對于軟件工程來說代碼的編寫并不是唯一重要的事情。文檔編寫的重要性不亞于程序代碼本身。如果代碼與文檔是分離的,那么在每次修改代碼時(shí),都需要修改相應(yīng)的文檔就會是一件相當(dāng)麻煩的事情。所以我們通過javadoc將代碼同文檔“連接”起來。 Javadoc是什么? javadoc是Sun公司提供的一個(gè)技術(shù),它從程序源代碼中抽取類、方法、成員等注釋形成一個(gè)和源代碼配套的API幫助文檔。也就是說,只要在編寫程序時(shí)以一套特定的標(biāo)簽作注釋,在程序編寫完成后,通過Javadoc就可以同時(shí)形式程序的開發(fā)文檔了。 Javadoc輸出的是一些HTML文件,我們可以通過WEB瀏覽器來查看它。 Javadoc的語法: 所有Javadoc都只能源于/**開始和*/結(jié)束。使用javadoc有二種方式,一種是嵌入HTML另一種是使用文檔標(biāo)簽。所謂文檔標(biāo)簽就是一些以“@”開頭的命令,且“@”要置于注釋行的最前面。而“行內(nèi)文檔標(biāo)簽”則可以出現(xiàn)在Javadoc注釋中的任何地方,它們也是以“@”字符開頭,但要括在共括號內(nèi)。 Javadoc只能為public或者protected成員進(jìn)行文檔注釋。private和包內(nèi)訪問的成員的注釋會被忽略掉。這樣做是有道理的,因?yàn)橹挥衟ublic和protected成員才能在文件之外被使用,這也體現(xiàn)了封裝性的優(yōu)點(diǎn)。 嵌入HTML: Javadoc將HTML代碼嵌入到所生成的HTML文件中。這樣能充分利用HTML的功能。比如: /** *<b> *this is my test program; *</b> */ 但一般我們不要在HTML里使用標(biāo)題,如<h1><hr>,因?yàn)镴avadoc會插入自己的標(biāo)題,我們的標(biāo)題可能會干擾它。 一些有用的標(biāo)簽: 1)@see:引用其它類的文檔,相當(dāng)于超鏈接,Javadoc會在其生成的HTML文件中,將@see標(biāo)簽鏈到其他的文檔 @see classname 這樣在生成的文檔中會出現(xiàn)"See Also"的超鏈蛸。但是Javadoc不去檢查你的超鏈接是否有效。 2){@link package.class#member label} 與@See的功能一樣,只是用label作主超鏈接,而不是用"see also" 3){@docRoot}:標(biāo)簽產(chǎn)生 到文檔根目錄的相對路徑,用于文檔樹頁面的顯式超鏈接 4){@inheritDoc}:標(biāo)簽從當(dāng)前這個(gè)類的最直接的基類中繼承相關(guān)文檔到當(dāng)前的文檔注釋中。 5)@version:使用方法為@version 2.2.1.2... 2.2.1.2...是我們作的版本說明信息 6)@author:使用方法為 @author PowerFedora powpro@hotmail.com 也就是說我們可以在@author后加上作者名字,email等聯(lián)系方式 7)@since:這個(gè)標(biāo)簽允許你指定程序最早使用的版本。比如我們看JDK Document里的每個(gè)類最后都會說明從JDK哪個(gè)版本開始啟用。 8)@param:@param name 用于輸入客戶的姓名 @param后面是方法的參數(shù),以及相應(yīng)的說明 我們可以使用任意數(shù)量的此標(biāo)簽,每個(gè)參數(shù)都可以有這樣一個(gè)標(biāo)簽 9)@return this is description @return后面是描述返回值的含義,可以延續(xù)幾行。 10)@throws fully-qualified-class-name description fully-qualified-class-name為異常類的完整名字,而description告訴你為什么此異常會在方法中調(diào)用出現(xiàn)。 11)@deprecated:用于指出一些舊特性已由改進(jìn)的新特性所取代,建議用戶不要再使用舊特性。 接下來我們用一個(gè)代碼將上述所有的標(biāo)簽都使用起來,看一下效果:
//: test Javadoc,JavaCode.java import java.util.*;
/** 這是一個(gè)為了測試Javadoc而專門寫的類 * 功能是打印字符串 * @author PowerFedora * @author powpro@hotmail.com * @version 1.0 */ public class JavaCode { /** 這里的main函數(shù),作為java程序的入口 * @param 參數(shù)為一個(gè)String對象數(shù)組 * @return 沒有返回值的內(nèi)容 * @exception exceptions 沒有異常被拋出 */ public static void main(String[] args){ String a = "中華人民共和國"; System.out.print(a); } } ///:~ 值得一題的是,如果你使用eclipse的話,完全不需要背這些標(biāo)簽。當(dāng)我們在需要注釋的地方打上/**之后,再打@符號eclipse會自動顯示所支持的標(biāo)簽供我們選擇。 同樣在生成HTML文檔時(shí)我們也可以利用eclipse的export功能直接導(dǎo)出,否則用javadoc手工來生成的話是件相當(dāng)痛苦的事情。 以下列出來javadoc支持的參數(shù): -author -bootclasspath -bottom -breakiterator -charset -classpath -d -docencoding -docfilessubdirs -doclet -docletpath -doctitle -encoding -exclude -excludedocfilessubdir -extdirs -footer -group -header -help -helpfile -J -keywords -link -linkoffline -linksource -locale -nocomment -nodeprecated -nodeprecatedlist -nohelp -noindex -nonavbar -noqualifier -nosince -notimestamp -notree -overview -package -private -protected -public -quiet -serialwarn -source -sourcepath -splitindex -stylesheetfile -subpackages -tag -taglet -tagletpath -title -use -verbose -version -windowtitle
文章出處:http://www./course/3_program/java/javajs/2008525/117789.html
|