2

hereから例をコピーしました。以下はコード例ですが、問題は、Store.TAX_RATE がモジュール Store のプロパティとしてではなく、Item のプロパティとしてドキュメントに表示されることです。なぜ何か提案はありますか?

コード例:

/**
  * This module contains classes for running a store.
  * @module Store
  */
var Store = Store || {};

/**
  * `TAX_RATE` is stored as a percentage. Value is 13.
  * @property TAX_RATE
  * @static
  * @final
  * @type Number
  */
Store.TAX_RATE = 13;


/**
 * @class Item
 * @constructor
 * @param name {String} Item name
 * @param price {Number} Item price
 * @param quantity {Number} Item quantity (the number available to buy)
 */
Store.Item = function (name, price, quantity) {
  /**
    * @property name
    * @type String
    */
  this.name = name;
  /**
    * @property price
    * @type String
    */
  this.price = price * 100;
  /**
    * @property quantity
    * @type Number
    */
  this.quantity = quantity;
  /**
    * @property id
    * @type Number
  */
  this.id = Store.Item._id++;
  Store.Item.list[this.id] = this;
 };
4

1 に答える 1

2

これは、YUIDoc の用語によれば、モジュールは関連するクラスの単なるコレクションであるため、クラス以外のものを含めることはできません。

代わりにできることは、Store と Store.Item の両方をクラスとして文書化することです。

/**
 * This module contains classes for running a store.
 * @class Store
 */
var Store = Store || {};

/**
 * `TAX_RATE` is stored as a percentage. Value is 13.
 * @property TAX_RATE
 * @type Number
 */
Store.TAX_RATE = 13;

/**
 * @class Store.Item
 */
Store.Item = function (name, price, quantity) {
};
于 2013-03-03T19:13:35.720 に答える