五分鐘玩轉文件化工具JSDuck

2021-09-14 03:08:57 字數 1706 閱讀 1500

字數:981

​ 在經歷了數個上線的專案之後,筆者所在的團隊已經沉澱了乙個相對穩定版本的前端框架。因此,我們需要出具一套框架api文件,以便公司其他成員的使用和框架的後期維護。我們在對現在較主流的五個文件工具:jsdoc 3、yuidoc、dox、docco、jsduck分別作了調研和嘗試,得到結論如下:

工具優點

缺點jsdoc3

提供了完整的模板開發、事件觸發等介面,使用非常靈活。

對**要求比較嚴格,學習曲線較高。

yuidoc

不止支援js語言,更加抽象,如果同時使用了 ruby/php/python等語言yui都可以使用。

功能更加抽象,具體實現方面考慮不全。

dox輕量級、高度可定製化,相容jsdoc3語法。

後期會有較多問題需要自己解決。

docco

行間注釋方式,更注重實現過程的文件

不太適合api注釋

jsduck

**實時修改、語法靈活、支援markdown語法,支援檢視原始碼並且文件可讀性較高,最主要的是上手非常快。

可定製化支援不足,略顯臃腫。

​ 我們選型的條件權重由高到低依次是:

​ 1.較強的可讀性。

​ 2.較低的學習成本。

​ 3.注釋語義的豐富程度,是否滿足我們的需求。

​ 4.是否足夠靈活。

​ jsduck可讀性較高,上手較快,並且使用jsduck工具生成的extjs文件的成功有目共睹,綜合考量,我們最終選擇了jsduck工具。

​ 由於jsduck需要依賴ruby環境,所以環境部署分為以下三步:

​ 1.安裝ruby

​ 2.安裝devkit

​ 3.安裝jsduck

第一步,安裝ruby :

第二步,安裝devkit:

​ ​

​ 安裝成功後,執行命令 ruby dk.rb install 命令。

第三步:安裝jsduck

​ 執行命令 gem install jsduck 命令安裝jsduck。

​ 至此,jsduck的環境部署已經全部完成了。

​ 準備工作終於做完了,那還等什麼,當然是馬上開始看看我們成果如何啦!

​ 在 g:test-jsduck目錄下,建立乙個test.js檔案,編寫如下**:

/**

* @class 人類

* @author lsjcoder

* @docauthor lsjcoder

*/function people() 姓名

*/this.name = "lsjcoder";

/*** 吃飯

* @method

* @param food 食物名稱

* @return 是否吃過

*/this.eat = function(food)else}}

​ 然後在cmd中執行命令 jsduck "g:test-jsducktest.js" --output=g:test-jsduckdoc ,工具就自動將文件生成到目錄 g:test-jsduckdoc 下,直接執行裡面的 index.html 檔案就可以看到如下成果圖:

五分鐘玩轉git

許多人認為git太混亂,或認為它是一種複雜的版本控制系統,其實不然,這篇文章有助於大家快速上手使用git。使用git前,需要先建立乙個倉庫 repository 您可以使用乙個已經存在的目錄作為git倉庫或建立乙個空目錄。使用您當前目錄作為git倉庫,我們只需使它初始化。git init使用我們指定...

每日五分鐘,玩轉 JVM GC 概覽

gc garbage collection 是我們在學習 jvm 的過程中不可避免的一道坎,接下來,我們就來系統的學習一下 gc。做一件事情之前,我們一定要去知道我們為什麼要去做,這裡不僅僅指 gc,更適用我們日常的學習和生活,知其然,知其所以然,方能百戰不殆。下面我們先去了解為什麼要有 gc,以及...

五分鐘帶你玩轉rocketMQ(五)實戰廣播與集群

1.集群消費方式 乙個consumergroup中的consumer例項平均分攤消費生產者傳送的訊息。例如某個topic有九條訊息,其中乙個consumer group有三個例項 可能是3個程序,或者3臺機器 那麼每個例項只消費其中的3條訊息,consumer不指定消費方式的話預設是集群消費的,適用...