javascript - YUIDoc,记录 'return that' 对象的最佳方式

标签 javascript yui documentation-generation

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

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

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

  • MakeOneOfThese
  • 形状一
  • 形状二

我的解决方法是在@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;
    }

最佳答案

或者,您也可以试试 JsDuck,它使用与 YUIDoc 相同的标签(几乎所有),生成的文档不仅更漂亮,而且还保持类层次结构

关于javascript - YUIDoc,记录 'return that' 对象的最佳方式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13156971/

相关文章:

javascript - 如何使用 ng-options 在 angularjs 中自动选择另一个选项

javascript - YUI 3 IO Utility - 带文件上传的表单提交从 responseText 中删除 HTML

html - github-pages 上的页面布局呈现不同

macros - 如何在宏中包含唯一匹配案例的文档?

xcode - 在 XCode 7.2 中为 Swift 代码自动生成文档模板

javascript - 什么是更好的?切换可见性或操作文本

javascript - 来自多个来源的 jQuery 动画 - 影响多个对象

javascript - 如何在 YUI 中禁用 slider 刻度?

doxygen - Doxygen 可以为任意关键字生成类似 TODO 的列表吗?

javascript - 无限滚动javascript未运行