Почему это "член не должен иметь @private JsDoc"?
Я очищаю свой код с помощью инструмента gjslint из Google Closure Tools. Он сообщает о следующей ошибке:
Line 15, E:0222: Member "this._dictionary" must not have @private JsDoc
И это код:
/**
* Stacker class.
* @constructor
* @param {frankenstein.app.Dictionary} dictionary input dictionary for stacking.
*/
frankenstein.app.Stacker = function(dictionary) {
/** @private */ this._dictionary = dictionary;
};
Может ли кто-нибудь объяснить, почему это._dictionary не должен иметь @private JsDoc? Спасибо!
1 ответ:
Замыкание Линтера предназначено для обеспечения руководство по стилю Google JavaScript. Тег JSDoc
@private
задокументирован следующим образом:Используется в сочетании с конечное подчеркивание на имя метода или свойства, чтобы указать, что элемент является частным. Конечные подчеркивания могут в конечном итоге быть устаревшими, поскольку инструменты обновляются для принудительного применения
@private
.По состоянию на закрытие Linter версии 2.3.6, ошибка " Member
не должна have @private JsDoc " будет выдаваться всякий раз, когда член аннотируется @private
без заключительного подчеркивания.Этот код не будет выдавать никаких ошибок или предупреждений.
/** * Stacker class. * @constructor * @param {frankenstein.app.Dictionary} dictionary Input dictionary for * stacking. */ frankenstein.app.Stacker = function(dictionary) { /** @private */ this.dictionary_ = dictionary; };