0

EBayのVJETとGoogleのClosureCompilerはどちらも、Javascriptコメントで型注釈を使用しています。

なぜ彼らは互換性のない構文を選んだのですか?

VJET

function add(a, b) {  //< Number add(Number, Number)
    return a + b ;
}

Googleクロージャー

/**
 * Queries a Baz for items.
 * @param {number} groupNum Subgroup id to query.
 * @param {string|number|null} term An itemName,
 *     or itemId, or null to search everything.
 */
goog.Baz.prototype.query = function(groupNum, term) {
  ...
};

VJETタイプのアノテーションをGoogleClosureタイプのアノテーションに自動的に変換する方法はありますか?

4

1 に答える 1

1

vjetdocs を jsdocs に自動的に翻訳する方法はありませんが、クエリ API の手動翻訳を次に示します。最初に、クロージャーの jsdoc から vjetdoc に変換してから、違いを示します。

/**
 * Queries a Baz for items.
 * @param {number} groupNum Subgroup id to query.
 * @param {string|number|null} term An itemName,
 *     or itemId, or null to search everything.
 */

VJET doc の groupNum は最初の最初の位置であり、型は数値 (数値ではない) になります。vjet は、大文字と小文字を区別する EcmaScript 標準の型名を使用します。

itemName is VJET doc は、数値または文字列の混合型になります。VJETDoc には現在、Null という名前のデフォルト タイプはありません。Null データ型があった場合は、大文字になります。これは VJET に追加する必要があると思いますが、null を渡すことができ、VJET は以下の宣言に文句を言いません。

関数とパラメーターの名前の有無にかかわらず、vjetdocに書くことができます(繰り返したくない場合...位置が引き継ぎます。

// shortest form
function query(groupNum, itemName) {  //< void (Number, {String|Number}?)

}
//
// longer form - on same line as declaration
function query(groupNum, itemName) {  //< void query(Number groupNum, {String|Number}? itemName)

}

// longer form mixed with jsdocs

/**> void query(Number groupNum, {String|Number}? itemName);
 * 
 * Queries a Baz for items.
 * @param {number} groupNum Subgroup id to query.
 * @param {string|number|null} term An itemName,
 *     or itemId, or null to search everything.
*/
function query(groupNum, itemName) {  

}


query(10,"test");
query(30,20);
query(20,null);
于 2012-06-26T18:16:30.613 に答える