我第一次在新项目上使用YUIDoc。我正在创建对象(彼此隔离),它们将控制自己形状的创建和跟踪,这些形状稍后会写入屏幕。
我的主要对象 - 下面的伪代码中的'MakeOneOfThese' - 使用'ThingMaker'方法返回形状定义。
当我生成YUIDocs时,我在左边有一长串的类,并且它们之间没有任何关系。所以我以推荐的方式应用了@for,但是我最左边的类列表仍然不代表类列表中的层次结构或类docs的主体。类列表例如:
我的解决方法是将@class名称中的层次结构作为其父类的前缀。 YUIDoc然后给了我:
我很想知道经验丰富的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;
}
答案 0 :(得分:1)
或者,您也可以尝试使用与YUIDoc相同的标签(几乎全部)的JsDuck,并生成不仅更漂亮,而且还维护类层次结构的文档
答案 1 :(得分:0)
而不是@class MakeOneOfThese.shapeTwo,你可以我们
@namespace MakeOneOfThese
@class shapeTwo