2

我第一次在一个新项目中使用 YUIDoc。我正在创建对象(彼此隔离),这些对象将控制自己形状的创建和跟踪,这些形状稍后会写入屏幕。

我有我的主要对象——下面的伪代码中的“MakeOneOfThese”——使用“ThingMaker”方法返回形状定义。

当我生成 YUIDocs 时,左边有一长串类,它们之间没有关系。所以我以推荐的方式应用了@for,但我最左边的类列表仍然不代表类列表中的层次结构或类文档的主体。例如,类列表如下:

  • MakeOneOf these
  • 形状一
  • 形状二

我的解决方法是在 @class 名称中使用其父类作为层次结构的前缀。YUIDoc 然后给了我:

  • MakeOneOf these
  • 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

或者,您也可以尝试 JsDuck,它使用与 YUIDoc 相同的标签(几乎全部),并且生成的文档不仅更漂亮,而且还维护了类层次结构

于 2013-03-07T10:51:00.803 回答
0

而不是@class MakeOneOfThese.shapeTwo,你可以我们

@namespace MakeOneOfThese

@class shapeTwo

于 2012-10-31T16:04:44.767 回答