16

JSDocにはさまざまなフレーバーがあることを私は知っています。また、JSDocパーサーの各実装は、独自のタグのセットを認識しているようです。たとえば、 http: //usejsdoc.org/http://www.techrepublic.com/blog/programming-and-development/create-useful-relevant-javascript-documentation-with-jsdoc/のタグの違いについて考えてみます。 451

この時点で、私はただ混乱しています。JSDocまたは広く認識されているコアタグのセットの正規の実装はありますか?JSDocの最良の実装はありますか?


編集

以下のコメントで尋ねられているように、この質問の理由は、私たちが作成しているツールで使用するためにJSDocコメントを解析する必要があるためです。この質問を参照してください」:Javascriptで記述されたオープンソースのJSDocパーサーはありますか?

自分のパーサーをロールする必要があるのではないかと心配しています。ロールする場合は、サポートする必要のあるタグを知る必要があります。

しかし、より深いレベルでは、一貫した仕様(またはリファレンス実装)がないことが懸念されます。これにより、JSDocは私にとって少しアドホックな感じになります。

4

2 に答える 2

5

私が最も完全な機能だと思うのは、グーグルクロージャーコンパイラによって使用されるものです

グーグルクロージャーコンパイラを使用することの素晴らしい点の1つは、型情報でマークされた関数の型チェックを実行することです。

私はあなたの痛みを感じます、私はこれに一日中対処します。これは、私がコーディング/ドキュメント化する必要のある非標準機能の例です。Ext-JS@cfg、ウィジェットに渡す初期化オブジェクトのプロパティを文書化するために使用します。私が使用しているIDEであるIntelliJは、JSDocを使用してより適切なコード提案を提供し、Extの方言も理解します。ほとんどの場合、それはうまく機能します。ただし、多くの場合、IDEとドキュメントツール(Extのバージョンのjsdoc)の両方にドキュメントを理解させるために、ドキュメントを複製する必要があります。DRYではありません。これが1つの例です:

...
/** 
 * @cfg {string} title // Ext-JS grabs the type from this line
 * @type string // My IDE grabs the type from this line
 */
 title: null // My IDE requires this line to recognize the cfg
             // as a property of the object even though all cfgs
             // are available in the object
...
于 2012-08-07T18:19:39.653 に答える
4

私もあなたの痛みを分かち合います。これが標準化されていないのは面倒です。ClosureCompilerの機能が最も完全である(そしておそらく最も素晴らしい!)というJuan Mendes氏に同意しますが、

http://code.google.com/p/jsdoc-toolkit/w/listにあるタグリストは、実際の仕様に最も近いものだといつも思っていました。古くなっている可能性がありますが、それでも、クロージャコンパイラよりも、多くのパーサーやIDEが実装しているものに近い可能性があります。

どのタグがそこにあるべきかについての最低限のコンセンサスについては、ウィキペディアも参照してください。http://en.wikipedia.org/wiki/JSDoc

製品がJSDocのClosureCompilerフレーバーをサポートしている場合でも、それはデファクトスタンダードになることに一歩近づきます。:D

于 2012-08-27T23:02:17.570 に答える