2011-06-25 15 views
8

Có cách nào để tránh phải nhập hai dòng riêng biệt cho @property và @param nếu, như trong ví dụ, trên hàm tạo các tham số và thuộc tính có tên giống nhau.Bộ công cụ JSDoc - Cách chỉ định @param và @property trên cùng một dòng

/** 
* 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; 
} 

Trả lời

3

Bạn thì không. Không thể, bởi vì các đối số của hàm và thuộc tính của một đối tượng - đây là các biến khác nhau, chúng không thể là cả tham số hàm và thuộc tính đối tượng. Hơn nữa, tài liệu như vậy sẽ chỉ gây nhầm lẫn cho nhà phát triển, nhưng không giúp hiểu được API.

tôi sẽ khuyên bạn không nên sử dụng @properties trong tác phẩm này của tài liệu, nhưng sử dụng @type:

/** 
* 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; 
} 

Nhưng trên thực tế tài liệu chi tiết như vậy là vô ích. Chúng ta đang nói gì trong mã số Point.x = x là rõ ràng đối với bất kỳ học sinh nào.

+0

Đề xuất của tôi là bạn chỉ khai báo các thuộc tính jsdoc từ hàm tạo như bạn có (ngay cả khi nó chỉ được gán sau này. Tránh tạo chúng từ các hàm ngẫu nhiên trong một lớp. –

Các vấn đề liên quan