2

新しいプロジェクトで初めて YUIDoc を使用しています。私は、後で画面に書き込まれる独自の形状の作成と追跡を制御する (互いに分離された) オブジェクトを作成しています。

以下の疑似コードの「MakeOneOfThese」という主要なオブジェクトには、形状定義を返す「ThingMaker」メソッドがあります。

YUIDocs を生成したとき、左側にクラスの長いリストがあり、それらの間に関係はありませんでした。そのため、推奨される方法で @for を適用しましたが、それでも、一番左のクラス リストは、クラス リストまたはクラス ドキュメントの本文の階層を表していませんでした。たとえば、クラスのリストは次のようになります。

  • MakeOneOfThese
  • シェイプワン
  • 形状2

私の回避策は、@class 名の階層の前に親クラスを付けることです。YUIDoc は次に私に与えます:

  • MakeOneOfThese
  • MakeOneOfThese.shapeOne
  • MakeOneOfThese.shapeTwo

経験豊富な YUIDoc ユーザーがこれにどのようにアプローチしたか、また、私のソリューションをより適切なものに置き換えたり、改善したりする方法を知りたいと思っています。

以下の疑似コードは、ファイルにドロップして YUIDoc を介して実行する準備ができています。

回答に時間を割いていただき、誠にありがとうございました。アンソニー

    /**
    The main constructor
    @class MakeOneOfThese 
    @constructor
    @param [options]{Object}
      @param [options.gridSize] {Integer}  The pixel dimensions for the grid
      @default 20

    **/
    function MakeOneOfThese(options) {
      var that= {
          //game properties
          //game methods

        /**
        A shape chooser
        @method ThingMaker
        @constructor
        @param thingType {String}
        @return MakeOneOfThese.ThingMaker.piece {object} an object representing definition information for the
        named shape type
        **/
        ThingMaker: function(thingType) {
            var PieceDefinitions = {
                /**
                A shape definition
                @class MakeOneOfThese.shapeOne
                @return MakeOneOfThese.ThingMaker.piece {object} 
                **/
                shapeOne: function() {
                    var piece = {
                      name: "ShapeOne",
                      signature: {
                         n: [[1],[1,1],[0,1]],
                         e: [[0,1,1],[1,1]], 
                         s: [[1],[1,1],[0,1]],
                         w: [[0,1,1],[1,1]]
                      }
                    }
                    return piece;
                }
                /**
                A shape definition
                @class MakeOneOfThese.shapeTwo
                @return MakeOneOfThese.ThingMaker.piece {object} 
                **/         
                shapeTwo: function() {
                  var piece = {
                    name: "ShapeTwo",
                    signature: {
                       n: [[1],[0,1],[0,1]],
                       e: [[0,1,1],[1,1]], 
                       s: [[1],[0,1],[0,1]],
                       w: [[0,1,1],[0,1]]
                    }
                  }
                  return piece;
                }
          }
      }
      return that;
    }
4

2 に答える 2

1

または、YUIDoc と同じタグ (ほぼすべて) を使用し、よりきれいなだけでなく、クラス階層も維持するドキュメントを生成する JsDuck を試すこともできます。

于 2013-03-07T10:51:00.803 に答える
0

@class MakeOneOfThis.shapeTwoの代わりに、

@namespace MakeOneOfThis

@class shapeTwo

于 2012-10-31T16:04:44.767 に答える