字數: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不指定消費方式的話預設是集群消費的,適用...