我目前正在使用 JSDoc 记录我的一个 API。虽然这很好用,但真正让我烦恼的一件事是重复文档的出现。一个常见的例子是属性及其 getter 的文档:
function AClass() {
/**
* The current state of the object. Determines wether this object has been initialized yet.
* @type {String}
* @private
*/
this._state = "initalized";
}
/**
* Returns the current state of the object, which determines if the object has been initalized yet.
* @return {String} The current state of the object
*/
AnObject.prototype.getState = function() {
return this._state;
}
我想每个人都在这里看到了这个问题。该属性实际上记录了 3 次(私有属性本身、getter 方法描述和方法的返回值)。简单地将方法的描述更改为类似的东西Returns the state
并不是一个真正的选择,因为我通常在文档输出中隐藏私有属性。
我对此类情况是否有最佳实践以及其他人如何处理这种情况感兴趣。作为一个痴迷于 DRY 的人,似乎应该有更好的选择来处理这些情况。