Почему "Участник не должен иметь @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;
};
Может кто-нибудь объяснить, почему this._dictionary не должен иметь @private JsDoc? Спасибо!
1 ответ
Closure Linter разработан для обеспечения соблюдения руководства по стилю Google JavaScript. Тег JSDoc @private
задокументировано следующим образом:
Используется вместе с завершающим подчеркиванием в имени метода или свойства, чтобы указать, что член является частным. Конечные подчеркивания могут в конечном итоге устареть, поскольку инструменты обновляются для обеспечения соблюдения
@private
,
Начиная с версии 2.3.6 Closure Linter, ошибка "Элемент <имя> не должно иметь @private JsDoc" будет появляться всякий раз, когда аннотируется член @private
без завершающего подчеркивания.
Этот код не будет выдавать никаких ошибок или предупреждений.
/**
* Stacker class.
* @constructor
* @param {frankenstein.app.Dictionary} dictionary Input dictionary for
* stacking.
*/
frankenstein.app.Stacker = function(dictionary) {
/** @private */ this.dictionary_ = dictionary;
};