微軟發起TSDoc項目試圖規範文檔格式

微軟發起TSDoc項目試圖規範文檔格式

來自專欄大漠窮秋的專欄91 人贊了文章

當年,Java的興起有一個很重要的原因,就是它的文檔非常好用(我知道有杠精要說外觀不好看,但是對開發者來說真的很好用):

package、class、properties、methods,一目了然,查閱起來非常方便快捷。

這背後離不開JavaDoc這款工具的功勞。

在JavaScript領域,一直就缺乏很好用的文檔工具,要麼是生成的文檔格式醜陋,要麼就是限制太大,根本不可用。

這裡面就包括你們念念叨叨的[JSDoc](Use JSDoc: Index),但是真的很不好意思,JSDoc生成出來的文檔很像一坨shit,就比如這樣的鬼畜格式,實在讓人沒有信心往下看:

當然,如果這樣一說的話,Angular的文檔就只能說是兩坨shit了,你會看到這種東西:

Are you f**king kidding me? 這花花綠綠的一屏幕讓開發者怎麼查找?另外這種分類結構,讓人怎麼才能理解甚至記住?

如果你有興趣切換一下版本號的話,裡面的內容就更加混亂得不忍直視了:

這裡有一個例外,那就是ExtJS(起源於2007年,現在叫Sencha)的文檔,非常的優美和實用:

來來來,再仔細看看這格式:

再仔細看看這內容:

這才是開發者真正想要的文檔好不好?

ExtJS官方自己開發了一款基於Ruby的文檔生成工具,名字叫做JSDuck。它詳細定義了各種注釋的形式,可以自動從JS代碼裡面抽取注釋生成文檔,[有興趣了解細節的自己點這裡](senchalabs/jsduck)。

話說回來,文檔混亂這口鍋也不能全部交給工具來背,這裡面有很大一塊的原因是JS本身的特性導致,因為它過於動態,很多東西沒法自動抽出來形成結構化的文檔,比如一些全局變數。

所以問題就來了,既然TypeScript是「類型化的JavaScript」,那麼基於TS編寫的代碼應該可以生成很好看的結構化文檔才對。然而到目前為止,事實並非如此,不信你看上面Angular的文檔,亂成狗。

原因在哪裡呢?當然是TS語言本身啦,因為它沒有像JDK那樣內置一款好用的文檔生成工具。最近 TypeScript 團隊看起來突然意識到了文檔的重要性,於是就發起了TSDoc這個項目了,看這裡:Microsoft/tsdoc

特別注意:TSDoc這個項目剛剛起來,一個release都沒有,所以目前還沒法使用,希望TS團隊加油,大幹60天,發布1.0 !


本文由 @業餘小編 原創,轉發請保留簽名,謝謝。

「Angular開發者」公眾號,微信搜索:ngfans


推薦閱讀:

TAG:微軟Microsoft | TypeScript | Angular |