2014-03-31 4 views
2

JSDoc 3을 사용하여 Backbone.Model에 대한 속성 및 옵션 인수를 문서화하는 가장 좋은 방법을 결정하려고합니다.JSDoc 백본 속성/옵션

이상적으로는 할 수 있도록하고 싶습니다 :

/** 
    * @class 
    * @attribute {string} foo the foo attribute 
    * @attribute {integer} bar the bar attribute 
    * @option {bolean} baz the baz option 
    * @option {string} qux the qux option 
    */ 
var MyModel = Backbone.Model.extend({ 
    ... 
}); 

그러나 JSDoc 3에는 @option 태그가 없으며, @attribute는 백본 속성과 같은 것을 의미하지 않는다. 이론적으로 나는 pseudo-code에서 사용자 정의 태그를 어떻게 든 만들 수 있다고 생각하지만, 이들과 함께 기존의 플러그인을 찾을 수 없으며 사용자 정의 태그를 만드는 방법에 대한 문서는 거의 존재하지 않습니다.

그래서 내장 태그가 붙어있는 것 같아서 제 질문은 다음과 같습니다. 내 의사 코드 (실제 JSDoc 3 태그 사용)에 다음으로 가장 좋은 것은 무엇입니까?

참고 :이 질문에는 비슷한 질문이 몇 개 있지만 (모두 How to jsdoc annotate BackboneJS code?, How do I document AMD + Backbone project with JSDoc3) 모두 백본 (Backbone) 개체를 인식하는 "큰 그림"에 중점을 둡니다. 속성/옵션 문제를 특별히 해결 한 항목을 찾을 수 없습니다.

답변

1

결과적으로이 (비 백본 관련) 스택 오버플로 스레드 인 How to describe "object" arguments in jsdoc?에서 대답을 찾았습니다.

요약하면 초기 매개 변수 (예 : @param attributes)를 작성한 다음 @param attributes.foo 또는 @param options.bar 태그를 작성하여 속성/옵션을 문서화 할 수 있습니다. 즉, 내 의사 코드는 다음과 같은 구문을 제대로 다시 수행 할 수 있습니다 :

/** 
    * @class 
    * @param {Object} attributes 
    * @param {string} attributes.foo the foo attribute 
    * @param {integer} attributes.bar the bar attribute 
    * @param {Object} options 
    * @param {boolean} options.baz the baz option 
    * @param {string} options.qux the qux option 
    */ 
var MyModel = Backbone.Model.extend({ 
    ... 
}); 

난 아직도 @attribute을 허용 JSDoc3 - 백본 플러그인의 일종이 있다면 것이 바람직 할 거라고 생각/@option 태그가 있으므로 누군가가 답변을 게시하면 기꺼이 그 답변을 수락 할 것입니다.