2011-06-25 23 views
8

@property ve @param için iki ayrı satır yazmak zorunda kalmamak için, örnekte olduğu gibi, yapıcıda parametreler ve özellikler varsa aynı şekilde adlandırılmış.JSDoc Toolkit - Nasıl aynı satırda @param ve @property belirtilir

/** 
* Class for representing a point in 2D space. 
* @property {number} x The x coordinate of this point. 
* @property {number} y The y coordinate of this point. 
* @constructor 
* @param {number} x The x coordinate of this point. 
* @param {number} y The y coordinate of this point. 
* @return {Point} A new Point 
*/ 
Point = function (x, y) 
{ 
    this.x = x; 
    this.y = y; 
} 

cevap

3

Yapmayın. Bu bir imkansızdır çünkü bir nesnenin işlev ve özelliklerinin argümanları - bunlar farklı değişkenlerdir, hem fonksiyon parametreleri hem de nesne özellikleri olamazlar. Ayrıca, bu tür belgeler yalnızca geliştiriciyi karıştırır, ancak API'yi anlamaya yardımcı olmaz.

Sana belgelerin bu parçada @properties kullanmamayı tavsiye ama @type kullanırsınız:

/** 
* Class for representing a point in 2D space. 
* @constructor 
* @param {number} x The x coordinate of this point. 
* @param {number} y The y coordinate of this point. 
* @return {Point} A new Point 
*/ 
Point = function (x, y) 
{ 
    /** 
    * The x coordinate. 
    * @type number 
    */ 
    this.x = x; 

    /** 
    * The y coordinate. 
    * @type number 
    */ 
    this.y = y; 
} 

Ama aslında böyle detaylı dokümantasyon işe yaramaz. Point.x = x kodunda ne konuşuyoruz, herhangi bir okul çocuğuna açık.

+0

Benim önerim, jsdoc özelliklerini sahip olduğunuzdan yalnızca yapıcıdan bildirmenizdir (yalnızca daha sonra atanacak olsa bile) Bir sınıftaki rasgele işlevlerden bunları oluşturmaktan kaçının. –