Я впервые использую YUIDoc в новом проекте. Я создаю объекты (изолированные друг от друга), которые будут управлять созданием и отслеживанием своих собственных форм, которые позже выводятся на экран.
У меня есть основной объект — «MakeOneOfThese» в приведенном ниже псевдокоде — с методом «ThingMaker» для возврата определений формы.
Когда я сгенерировал YUIDocs, слева у меня был длинный список классов, и между ними не было никакой связи. Поэтому я применил @for рекомендуемым способом, но мой самый левый список классов не представлял иерархию в списке классов или основную часть документации по классам. Список классов, например, гласит:
- СделатьOneOfThese
- shapeOne
- формаДва
Мой обходной путь состоял в том, чтобы префикс иерархии в именах @class с их родительскими классами. Затем YUIDoc дает мне:
- СделатьOneOfThese
- MakeOneOfThese.shapeOne
- СделатьOneOfThese.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;
}