2012-10-31 37 views
2

我在一個新項目中首次使用YUIDoc。我創建的對象(相互隔離)將控制對自己形狀的創建和跟蹤,隨後將其寫入屏幕。YUIDoc,記錄'返回'對象的最佳方式

我有我的主要對象 - 'MakeOneOfThese'在下面的僞代碼 - 用'ThingMaker'方法返回形狀定義。

當我生成YUIDocs時,我在左邊有一長串類,而它們之間沒有關係。所以我以推薦的方式應用了@for,但仍然是我最左邊的班級列表並未代表班級列表或班級文檔正文中的層次結構。類列表,例如閱讀:

  • MakeOneOfThese
  • shapeOne
  • shapeTwo

我的解決方法已經前綴層次結構與其父類的@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; 
    } 

回答

0

相反@class MakeOneOfThese.shapeTwo的,你能給我們

@namespace MakeOneOfThese

@class shapeTwo

+0

Thankyou for @n amespace提示,在記錄時確實使事情變得更清晰。我重新閱讀了文檔並嘗試了YUIDoc論壇,但沒有找到既沒有問也沒有回答的問題,所以將它發佈在那裏以供考慮。 –

1

或者,你也可以嘗試JsDuck,使用相同的標籤(幾乎所有)作爲YUIDoc,並生成不僅漂亮的文檔,而且還維護類層次結構