我第一次在一个新项目中使用 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/