1. ホーム
  2. javascript

jsdocで匿名オブジェクトと関数を文書化する最良の方法

2023-12-27 14:04:17

質問

編集:これは厳密には2つの部分に分かれた質問です。私は一般的に質問をカバーする最良の答えを選択し、特定の質問を扱う答えにリンクしています。

jsdocで匿名のオブジェクトと関数を文書化する最良の方法は何ですか?

/**
 * @class {Page} Page Class specification
 */
var Page = function() {

    /**
     * Get a page from the server
     * @param {PageRequest} pageRequest Info on the page you want to request
     * @param {function} callback Function executed when page is retrieved
     */
    this.getPage = function(pageRequest, callback) {
    }; 
};

どちらも PageRequest オブジェクトも callback がコード上に存在する場合。それらが提供されるのは getPage() に実行時に提供されます。しかし、私はオブジェクトと関数が何であるかを定義できるようにしたいと思います。

を作るのは何とかなるのですが PageRequest オブジェクトを作成して、それを文書化します。

/**
 * @namespace {PageRequest} Object specification
 * @property {String} pageId ID of the page you want.
 * @property {String} pageName Name of the page you want.
 */
var PageRequest = {
    pageId : null,
    pageName : null
};

で、いいんです(もっといい方法があればいいんですけどね)。

を文書化するのに最適な方法は何でしょうか? callback 関数を文書化する最良の方法は何でしょうか?例えば、コールバック関数が以下のような形であることをドキュメントで知らしめたいのです。

callback: function({PageResponse} pageResponse, {PageRequestStatus} pageRequestStatus)

これを行う方法について何かアイデアはありますか?

どのように解決するのですか?

nameタグを使用することで、コードに存在しないものをドキュメント化することができます。

/**
 * Description of the function
 * @name IDontReallyExist
 * @function
 * @param {String} someParameter Description
*/

/**
 * The CallAgain method calls the provided function twice
 * @param {IDontReallyExist} func The function to call twice
*/
exports.CallAgain = function(func) { func(); func(); }

ここでは nameタグの説明です。 . あなたは ネームパス も便利です。