雖然軟件工程中把詳細(xì)設(shè)計(jì)作為軟件項(xiàng)目的一個(gè)重要的階段,但在實(shí)踐中往往沒(méi)有得到落實(shí)。并不是這個(gè)階段不重要,而是實(shí)施有很大的困難,因?yàn)檐浖枨笫翘焐囊讋?dòng)癥患者,好不容易詳細(xì)設(shè)計(jì)出來(lái)后,需求已和當(dāng)初的版本大相徑庭,而花費(fèi)巨大,精雕細(xì)琢的詳細(xì)設(shè)計(jì)已變成昨日黃花了。另一方面,有一些功能實(shí)現(xiàn)往往要等到真正編碼時(shí)才能想到更好的方法,畢竟設(shè)計(jì)時(shí)是"憑空想象",而編碼時(shí)才是"實(shí)踐操作",所以在編碼時(shí)對(duì)原設(shè)計(jì)進(jìn)行調(diào)整常常在所難免。
詳細(xì)設(shè)計(jì)文檔是源代碼實(shí)現(xiàn)上的描述,但在物理上則是和源代碼文件分離的,兩者間的一致性很容易被打破,維持兩者一致性代價(jià)常常是項(xiàng)目正常周期無(wú)法承受的。各種"自文檔"或"直接文檔"的技術(shù)應(yīng)運(yùn)而生,Javadoc就是Java的自文檔技術(shù),即通過(guò)"寄生"在源代碼文件中的注釋信息產(chǎn)生幫助文檔,這種幫助文檔本身也就是詳細(xì)設(shè)計(jì)文檔。由于程序代碼和注釋信息在同一個(gè)文件中,在更改程序時(shí)相應(yīng)調(diào)整注釋則是舉手之勞的事,兩者間的一致性很容易得到保障。
作為一名Java程序員,想必多少看過(guò)JDK的API幫助文檔,JBuilder自帶的JDK1.4的幫助文檔位于/doc/jdk_docs.jar,它包含了JDK的Javadoc文檔,你可以通過(guò)諸如winRAR等解壓軟件將jdk_doc.jar解壓到某個(gè)目錄下,解壓后jdk_docs/java/api目錄中的文檔就是JDK的Javadoc文檔。雙擊打開(kāi)目錄下的index.html文件,你將看到如下的頁(yè)面
網(wǎng)頁(yè)分為三個(gè)幀,左上角的幀是包的列表,左下角的幀是包中類的列表,而右邊主窗口幀是類的API說(shuō)明頁(yè)面。
類API說(shuō)明頁(yè)面頂部有一個(gè)導(dǎo)航條,方便鏈接到一些常用的頁(yè)面,這些常見(jiàn)的頁(yè)面包括:
·Overview:所有包的說(shuō)明列表,每個(gè)包對(duì)應(yīng)表中一行說(shuō)明。
·Package:包中所有類或接口的說(shuō)明列表,每個(gè)類或接口對(duì)應(yīng)表中一行說(shuō)明。
·Class:標(biāo)明為當(dāng)前類,其上并無(wú)鏈接。
·Use:類的所有關(guān)聯(lián)類:包括繼承關(guān)系,依賴關(guān)系,關(guān)聯(lián)關(guān)系等。
·Tree:以層次結(jié)構(gòu)列出包中類繼層級(jí)關(guān)系,通過(guò)這個(gè)列表,可以對(duì)類探本溯源,下面是java.Applet包Applet類的繼承用實(shí)現(xiàn)樹(shù)。
·Deprecated:所有過(guò)期的類、接口、值域、方法、構(gòu)造函數(shù)。
·Index:索引頁(yè)面,將JDK中所有的類、接口、常量、方法都以字母順序進(jìn)行索引,借此頁(yè)面可以快速定位到所需的幫助內(nèi)容,其頁(yè)面如下:
·Help:關(guān)于如何使用Javadoc文檔的幫助信息,你可以通過(guò)這個(gè)文檔了解更多使用Javadoc的方法。
詳細(xì)設(shè)計(jì)文檔是源代碼實(shí)現(xiàn)上的描述,但在物理上則是和源代碼文件分離的,兩者間的一致性很容易被打破,維持兩者一致性代價(jià)常常是項(xiàng)目正常周期無(wú)法承受的。各種"自文檔"或"直接文檔"的技術(shù)應(yīng)運(yùn)而生,Javadoc就是Java的自文檔技術(shù),即通過(guò)"寄生"在源代碼文件中的注釋信息產(chǎn)生幫助文檔,這種幫助文檔本身也就是詳細(xì)設(shè)計(jì)文檔。由于程序代碼和注釋信息在同一個(gè)文件中,在更改程序時(shí)相應(yīng)調(diào)整注釋則是舉手之勞的事,兩者間的一致性很容易得到保障。
作為一名Java程序員,想必多少看過(guò)JDK的API幫助文檔,JBuilder自帶的JDK1.4的幫助文檔位于
網(wǎng)頁(yè)分為三個(gè)幀,左上角的幀是包的列表,左下角的幀是包中類的列表,而右邊主窗口幀是類的API說(shuō)明頁(yè)面。
類API說(shuō)明頁(yè)面頂部有一個(gè)導(dǎo)航條,方便鏈接到一些常用的頁(yè)面,這些常見(jiàn)的頁(yè)面包括:
·Overview:所有包的說(shuō)明列表,每個(gè)包對(duì)應(yīng)表中一行說(shuō)明。
·Package:包中所有類或接口的說(shuō)明列表,每個(gè)類或接口對(duì)應(yīng)表中一行說(shuō)明。
·Class:標(biāo)明為當(dāng)前類,其上并無(wú)鏈接。
·Use:類的所有關(guān)聯(lián)類:包括繼承關(guān)系,依賴關(guān)系,關(guān)聯(lián)關(guān)系等。
·Tree:以層次結(jié)構(gòu)列出包中類繼層級(jí)關(guān)系,通過(guò)這個(gè)列表,可以對(duì)類探本溯源,下面是java.Applet包Applet類的繼承用實(shí)現(xiàn)樹(shù)。
·Deprecated:所有過(guò)期的類、接口、值域、方法、構(gòu)造函數(shù)。
·Index:索引頁(yè)面,將JDK中所有的類、接口、常量、方法都以字母順序進(jìn)行索引,借此頁(yè)面可以快速定位到所需的幫助內(nèi)容,其頁(yè)面如下:
·Help:關(guān)于如何使用Javadoc文檔的幫助信息,你可以通過(guò)這個(gè)文檔了解更多使用Javadoc的方法。

