成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專(zhuān)欄INFORMATION COLUMN

五分鐘玩轉(zhuǎn)文檔化工具JSDuck

rickchen / 1916人閱讀

摘要:我們?cè)趯?duì)現(xiàn)在較主流的五個(gè)文檔工具分別作了調(diào)研和嘗試,得到結(jié)論如下工具優(yōu)點(diǎn)缺點(diǎn)提供了完整的模板開(kāi)發(fā)事件觸發(fā)等接口,使用非常靈活。至此,的環(huán)境部署已經(jīng)全部完成了。

字?jǐn)?shù):981

閱讀時(shí)間:5分鐘

選型依據(jù)

? 在經(jīng)歷了數(shù)個(gè)上線(xiàn)的項(xiàng)目之后,筆者所在的團(tuán)隊(duì)已經(jīng)沉淀了一個(gè)相對(duì)穩(wěn)定版本的前端框架。因此,我們需要出具一套框架API文檔,以便公司其他成員的使用和框架的后期維護(hù)。我們?cè)趯?duì)現(xiàn)在較主流的五個(gè)文檔工具:JSDoc 3、YUIDoc、Dox、Docco、JSDuck分別作了調(diào)研和嘗試,得到結(jié)論如下:

工具 優(yōu)點(diǎn) 缺點(diǎn)
JSDoc3 提供了完整的模板開(kāi)發(fā)、事件觸發(fā)等接口,使用非常靈活。 對(duì)代碼要求比較嚴(yán)格,學(xué)習(xí)曲線(xiàn)較高。
YUIDoc 不止支持JS語(yǔ)言,更加抽象,如果同時(shí)使用了 Ruby/PHP/Python等語(yǔ)言YUI都可以使用。 功能更加抽象,具體實(shí)現(xiàn)方面考慮不全。
Dox 輕量級(jí)、高度可定制化,兼容JSDoc3語(yǔ)法。 后期會(huì)有較多問(wèn)題需要自己解決。
Docco 行間注釋方式,更注重實(shí)現(xiàn)過(guò)程的文檔 不太適合API注釋
JSDuck 代碼實(shí)時(shí)修改、語(yǔ)法靈活、支持MarkDown語(yǔ)法,支持查看源碼并且文檔可讀性較高,最主要的是上手非??臁?/td> 可定制化支持不足,略顯臃腫。

? 我們選型的條件權(quán)重由高到低依次是:

? 1.較強(qiáng)的可讀性。

? 2.較低的學(xué)習(xí)成本。

? 3.注釋語(yǔ)義的豐富程度,是否滿(mǎn)足我們的需求。

? 4.是否足夠靈活。

? JSDuck可讀性較高,上手較快,并且使用JSDuck工具生成的extJS文檔的成功有目共睹,綜合考量,我們最終選擇了JSDuck工具。

環(huán)境部署

? 由于JSDuck需要依賴(lài)ruby環(huán)境,所以環(huán)境部署分為以下三步:

? 1.安裝ruby

? 2.安裝devkit

? 3.安裝JSDuck

? 第一步,安裝ruby :

? 下載地址:https://rubyinstaller.org/dow...

?

? 選擇符合本機(jī)電腦的安裝包下載即可。

? 第二步,安裝devkit:

? 下載地址:https://rubyinstaller.org/dow...

?

? 選擇符合本機(jī)電腦的安裝包下載即可。注意devkit安裝目錄不要有中文或者特殊字符,然后在安裝根目錄下執(zhí)行cmd命令 ruby dk.rb init。這時(shí),我們會(huì)在當(dāng)前目錄下看到一個(gè)config.yml文件,編輯該文件,添加ruby目錄配置。例如,筆者的ruby是安裝在 F:/Ruby22-x64 目錄下,就做如下圖修改即可:

?

? 安裝成功后,執(zhí)行命令 ruby dk.rb install 命令。

? 第三步:安裝JSDuck

? 執(zhí)行命令 gem install jsduck 命令安裝jsduck。

? 至此,JSDuck的環(huán)境部署已經(jīng)全部完成了。

第一個(gè)文檔

? 準(zhǔn)備工作終于做完了,那還等什么,當(dāng)然是馬上開(kāi)始看看我們成果如何啦!

? 在 G:test-jsduck目錄下,創(chuàng)建一個(gè)test.js文件,編寫(xiě)如下代碼:

/**
 * @class 人類(lèi)
 * @author lsjcoder
 * @docauthor lsjcoder
 */
function People(){
    /**
     * 
     * @property {String} 姓名
     */
    this.name = "lsjcoder";

    /**
     * 吃飯
     * @method
     * @param food {String} 食物名稱(chēng)
     * @return {Boolean}  是否吃過(guò)
     */
    this.eat = function(food){
        if(food != null){
            return true;
        }else{
            return false;
        }
    }
}

? 然后在cmd中運(yùn)行命令 jsduck "G:test-jsducktest.js" --output=G:test-jsduckdoc ,工具就自動(dòng)將文檔生成到目錄 G:test-jsduckdoc 下,直接運(yùn)行里面的 index.html 文件就可以看到如下成果圖:

? 是不是非常簡(jiǎn)單粗暴且可讀性爆表呀!筆者會(huì)在接下來(lái)的系列文章中詳細(xì)介紹JSDuck的所有技術(shù),并且最后會(huì)將筆者公司在JSDuck中前端框架的實(shí)踐以案例的形式分享給大家,敬請(qǐng)期待哦!

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/90725.html

相關(guān)文章

  • JSDuck用法詳解

    摘要:語(yǔ)法父類(lèi)名表示當(dāng)前類(lèi)繼承于哪個(gè)類(lèi)的標(biāo)簽。成員標(biāo)簽成員標(biāo)簽作用于類(lèi)中的配置屬性函數(shù)事件。表明可被子類(lèi)繼承,和一起使用。示例獲取圓的面積圓的半徑面積值作用于函數(shù),表明函數(shù)的標(biāo)簽。作用于函數(shù),表明構(gòu)造函數(shù)參數(shù)的標(biāo)簽,用法同。 字?jǐn)?shù):3692字 閱讀時(shí)間:15分鐘 前言 ? 首先,咱們有一個(gè)前提,JSDuck對(duì)我們而言只是一個(gè)便于API查看的文檔化工具。因此,只要它能夠滿(mǎn)足我們文...

    xiaochao 評(píng)論0 收藏0
  • Javascript自動(dòng)文檔工具:YUI Doc, JSDoc 3, JSDuck等比較

    摘要:本文比較了種較為主流的注釋文檔生成工具。應(yīng)該說(shuō)是非常適合開(kāi)源項(xiàng)目多個(gè)作者共同維護(hù)的一個(gè)文檔工具。最后我選擇了作為文檔生成的工具。為了支持多種語(yǔ)言,它僅對(duì)注釋塊內(nèi)部的內(nèi)容進(jìn)行解析。 最近隨著寫(xiě)Node以及獨(dú)立的CommonJS模塊越來(lái)越多,我發(fā)現(xiàn)有一份好的文檔不僅可以幫助自己在應(yīng)用這些接口的時(shí)候不至于迷糊,而且對(duì)于共同開(kāi)發(fā)的情況下,能夠省去大量團(tuán)隊(duì)的交流和Debug的時(shí)間。 本文比較了...

    tyheist 評(píng)論0 收藏0
  • JSDuck實(shí)戰(zhàn)

    摘要:我們先聲明了類(lèi),在類(lèi)的注釋上添加標(biāo)簽表示靜態(tài)類(lèi)。靜態(tài)類(lèi)中包含一個(gè)方法,實(shí)現(xiàn)了一個(gè)簡(jiǎn)單的擴(kuò)展功能,后面類(lèi)的繼承需要用到這個(gè)接口。這里需要注意,靜態(tài)類(lèi)中,所有的成員也都是靜態(tài)的。 字?jǐn)?shù):2543 閱讀時(shí)間:15分鐘 前言 ? 上一篇文章我們講述了JSDuck的詳細(xì)用法。那么,本文筆者就以實(shí)例為基礎(chǔ),和大家一起,從零開(kāi)始,搭建一個(gè)簡(jiǎn)單的API文檔——我們的第一個(gè)API文檔V0.0.1。...

    kel 評(píng)論0 收藏0
  • JSDuck 與 AngularJS 融合技巧

    摘要:融合思路解決這個(gè)問(wèn)題,有兩種思路。給我們帶來(lái)了以下新成員模塊服務(wù)指令篩選器和控制器。與其他類(lèi)是通過(guò)類(lèi)的名稱(chēng)區(qū)分的,名稱(chēng)統(tǒng)一以結(jié)尾。這種處理方式是一種折中方案,如果想要更加規(guī)范優(yōu)雅的話(huà),建議使用自定義標(biāo)簽來(lái)解決。 字?jǐn)?shù):1568 閱讀時(shí)間:10分鐘 前言 ??前面,我們以一個(gè)實(shí)戰(zhàn)案例來(lái)詳細(xì)說(shuō)明了如何在實(shí)際開(kāi)發(fā)中使用JSDuck工具。但是,并不是所有的時(shí)候,代碼的封裝方式都受我們控制的。...

    CarterLi 評(píng)論0 收藏0
  • 【趣味連載】攻城獅上傳視頻與普通人上傳視頻:(一)生成結(jié)構(gòu)數(shù)據(jù)

    摘要:背景當(dāng)知道要上傳的視頻資料從條變成條時(shí),我就明白,絕對(duì)不能再人工處理了。 背景 當(dāng)知道要上傳的視頻資料從20條變成100條時(shí),我就明白,絕對(duì)不能再人工處理了。他們總是想當(dāng)然的認(rèn)為,錄入一條數(shù)據(jù)需要1分鐘,那錄入20條數(shù)據(jù)就是20分鐘,錄入100條數(shù)據(jù),不就是100分鐘嗎?我有時(shí)候,真的很想問(wèn)問(wèn)他們,沒(méi)有考慮過(guò)人是會(huì)犯錯(cuò)的嗎?數(shù)據(jù)越多,出錯(cuò)的可能就越大;但是數(shù)據(jù)本身,又是不允許出現(xiàn)紕漏的...

    mindwind 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

rickchen

|高級(jí)講師

TA的文章

閱讀更多
最新活動(dòng)
閱讀需要支付1元查看
<