JsDoc

          如果你在寫javascript,是否羨慕過(guò)C++,JAVA的文檔自動(dòng)生成工具?是否希望自己的程序也能自動(dòng)生成一份對(duì)應(yīng)的文檔,猶如java API文檔一樣呢?不要再羨慕了。jsdoc_toolkit.zip 一款強(qiáng)大的js doc生成工具已經(jīng)能完成你所羨慕這些功能了。

          你可以訪問該工具的主頁(yè):http://www.jsdoctoolkit.org/ 查看相關(guān)用法。這是一個(gè)JAVA開發(fā)的開源項(xiàng)目,下面只是記錄一些使用過(guò)程中常見的細(xì)節(jié):

          將下載的 jsdoc_toolkit.zip解壓后,其中的README.txt 有使用說(shuō)明。 我可不想每次用的時(shí)候都去命令下做這些操作,于是我在解壓后的目錄里新建了一個(gè)run.bat 內(nèi)容編輯如下:

          java -jar jsrun.jar app/run.js -a -t=templates/jsdoc js/*.js

          根據(jù)上面的命令,建立一個(gè)目錄,名字為 js 。顯然我們將需要提取文檔的js文件命名為*.js ,并且放在js目錄下,執(zhí)行run.bat就OK。

          什么這么簡(jiǎn)單? 對(duì)就是這么簡(jiǎn)單,不過(guò),你的js文件符合jsdoc規(guī)范嗎?

          如果你發(fā)現(xiàn)自己操作起來(lái)不是那么順利,那么:

          http://www.jsdoctoolkit.org/wiki/?page=Tag%20Reference 主頁(yè)上的這篇文章對(duì)你有所幫助,意思就是你的注釋應(yīng)該符合他的標(biāo)準(zhǔn)。

          有人說(shuō)我英語(yǔ)太差,好吧。我就把常見的一些注釋規(guī)范或者是他jsdoc工具能識(shí)別的標(biāo)識(shí)寫出來(lái):

          @author:作者

          @argument:參數(shù)

          @augments:參數(shù)

          @class: 類

          @constant:常數(shù)

          @constructor:構(gòu)造

          @constructs: 構(gòu)造

          @default:默認(rèn)值

          @deprecated: 推薦,說(shuō)明使用一個(gè)變量已不再支持

          @description:說(shuō)明

          @example :范例

          @extends: 擴(kuò)展 ,繼承

          @field:變量(非功能)

          @fileOverview :整個(gè)文件信息

          @function: 功能 (表示該變量指向一個(gè)功能)

          @inner || @private : 私有,內(nèi)部

          @ignore: 忽視 (文檔生成的式后也將忽視這個(gè)變量)

          @event:事件

          @version:版本

          @type:類型 描述預(yù)期的類型變量的值或返回值的函數(shù)

          @throws :可能拋出的異常

          @static: 靜態(tài),訪問該變量不需要實(shí)例

          @since: 自 (表明某屬性特征,是在什么版本之后才有的)

          @see: 描述相關(guān)的資源

          @scope ||@lends: 作用域

          @return ||@returns

          @requires: 描述必須需要的資源

          @public: 說(shuō)明內(nèi)在變量是公開的

          @property : 屬性

          @param:參數(shù)

          @namespace: 命名空間

          較多用法如下:

          eg:

          /**

           * @fileOverview 功能接口調(diào)用

           * @author -274°C

           * @constructor BlogJava.Data

           * @description [數(shù)據(jù)結(jié)構(gòu)]命名空間

           * @see The <a >Example Project</a>.

           * @param  {NULL_PARAMETER} objNull 

           * @param  {Function} [fnCallback="null"] :如果不是函數(shù)類型,則進(jìn)行同步調(diào)用

           * @return {Boolean} json :作為回調(diào)參數(shù)返回

           * @example new KxEFileMon.Data.NULL_PARAMETER("a")

           */

           

          以一個(gè)完整例子來(lái)演示下效果吧:Test.js 隨手敲的,至于這個(gè)腳本細(xì)節(jié)就請(qǐng)大家別去考究。

          /**
           * @fileOverview 樓主信息描述
           * @author -274°C
           */
           
           /**
           * @constructor LZInfo
           * @description 自我介紹
           * @see The <a href="
          http://www.aygfsteel.com/JAVA-HE">-274°C</a >.
           * @example new LZInfo();
           */
          function LZInfo()
          {
           /**
           * @description {String} 姓名
           * @field
           */
           this.Name = "hechangmin";
           /**
           * @description 打招呼
           * @param {String} title  說(shuō)話標(biāo)題
           * @param {String} content 說(shuō)話內(nèi)容
           * @return {Num} nResult 返回結(jié)果
           */
           this.SayHello = function()
           {
             alert( arguments[0] + " my name is " + this.Name + arguments[1]);
           }
          }

          //var lz = new LZInfo();
          //lz.SayHello("大家好!","請(qǐng)大家多多關(guān)照,謝謝。");

          生成文檔,截圖展示:
          jsdoc.JPG

          posted on 2008-11-25 10:59 -274°C 閱讀(11197) 評(píng)論(5)  編輯  收藏 所屬分類: web前端


          FeedBack:
          # re: JsDoc 介紹
          2008-11-25 11:39 | ddd
          搞得不丑,頂一個(gè)  回復(fù)  更多評(píng)論
            
          # re: JsDoc 介紹[未登錄]
          2008-11-25 18:27 | -274°C
          @ddd

          謝謝支持。  回復(fù)  更多評(píng)論
            
          # re: JsDoc 介紹
          2008-11-25 23:07 | EricFan
          很好的東西,試用一下,不過(guò)就我們那個(gè)代碼寫得,有這工具也沒啥用  回復(fù)  更多評(píng)論
            
          # re: JsDoc 介紹[未登錄]
          2008-11-26 00:11 | -274°C
          @EricFan 按這種注釋規(guī)范寫,就可以了。  回復(fù)  更多評(píng)論
            
          # re: JsDoc 介紹
          2008-11-26 19:08 | BeanSoft
          以前有個(gè)Perl寫的JsDoc項(xiàng)目, 用著麻煩, 這個(gè)Java版本的好!  回復(fù)  更多評(píng)論
            

          常用鏈接

          留言簿(21)

          隨筆分類(265)

          隨筆檔案(242)

          相冊(cè)

          JAVA網(wǎng)站

          關(guān)注的Blog

          搜索

          •  

          積分與排名

          • 積分 - 917240
          • 排名 - 40

          最新評(píng)論

          主站蜘蛛池模板: 嵊泗县| 荣昌县| 美姑县| 上高县| 酒泉市| 禹城市| 保康县| 五河县| 宝坻区| 东阳市| 武邑县| 冕宁县| 昭觉县| 武隆县| 广河县| 庄浪县| 屏山县| 且末县| 双鸭山市| 平乐县| 罗山县| 于都县| 彩票| 曲松县| 南平市| 深水埗区| 志丹县| 新建县| 财经| 花垣县| 丹凤县| 霞浦县| 旬邑县| 营口市| 微山县| 隆安县| 昌都县| 青田县| 长岭县| 新化县| 恩平市|