Spec-Zone.ru › ESLint

no-warning-comments

Запретить указанные предупреждающие термины в комментариях

Разработчики часто добавляют комментарии к коду, который не завершен или требует проверки. Вероятнее всего, вы захотите исправить или проверить код, а затем удалить комментарий, прежде чем считать код готовым для производства.

// TODO: do something
// FIXME: this is not a good idea

Подробное описание правила

Это правило сообщает о комментариях, которые включают любые предварительно определенные термины, указанные в его настройках.

Параметры

Это правило имеет объект параметров:

  • "terms": необязательный массив терминов для сопоставления. По умолчанию ["todo", "fixme", "xxx"]. Термины сопоставляются без учета регистра и как целые слова: fix будет соответствовать FIX, но не fixing. Термины могут состоять из нескольких слов: really bad idea.
  • "location": необязательная строка, определяющая, где в ваших комментариях искать соответствия. По умолчанию "start". Начало отходит от первого не декоративного символа, игнорируя пробелы, новые строки и символы, указанные в decoration. Другое значение — совпадение anywhere в комментариях.
  • "decoration": необязательный массив символов, которые игнорируются в начале комментария, когда расположение "start". По умолчанию []. Любая последовательность пробелов или символов из этого свойства игнорируются. Этот параметр игнорируется, когда расположение "anywhere".

Пример неправильного кода для параметров { "terms": ["todo", "fixme", "xxx"], "location": "start" } по умолчанию:

Открыть в Playground
/*eslint no-warning-comments: "error"*/

/*FIXME*/
function callback(err, results) {
  if (err) {
    console.error(err);
    return;
  }
  // TODO
}

Пример правильного кода для параметров { "terms": ["todo", "fixme", "xxx"], "location": "start" } по умолчанию:

Открыть в Playground
/*eslint no-warning-comments: "error"*/

function callback(err, results) {
  if (err) {
    console.error(err);
    return;
  }
  // NOT READY FOR PRIME TIME
  // but too bad, it is not a predefined warning term
}

Термины и расположение

Примеры неправильного кода для параметров { "terms": ["todo", "fixme", "any other term"], "location": "anywhere" }:

Открыть в Playground
/*eslint no-warning-comments: ["error", { "terms": ["todo", "fixme", "any other term"], "location": "anywhere" }]*/

// TODO: this
// todo: this too
// Even this: TODO
/* * The same goes for this TODO comment * Or a fixme * as well as any other term */

Примеры правильного кода для параметров { "terms": ["todo", "fixme", "any other term"], "location": "anywhere" }:

Открыть в Playground
/*eslint no-warning-comments: ["error", { "terms": ["todo", "fixme", "any other term"], "location": "anywhere" }]*/

// This is to do
// even not any other    term
// any other terminal
/*
 * The same goes for block comments
 * with any other interesting term
 * or fix me this
 */

Символы оформления

Примеры неправильного кода для параметров { "decoration": ["*"] }:

Открыть в Playground
/*eslint no-warning-comments: ["error", { "decoration": ["*"] }]*/

//***** todo decorative asterisks are ignored *****//
/** * TODO new lines and asterisks are also ignored in block comments. */

Примеры неправильного кода для параметров { "decoration": ["/", "*"] }:

Открыть в Playground
/*eslint no-warning-comments: ["error", { "decoration": ["/", "*"] }]*/

////// TODO decorative slashes and whitespace are ignored //////
//***** todo decorative asterisks are also ignored *****//
/** * TODO new lines are also ignored in block comments. */

Примеры правильного кода для параметров { "decoration": ["/", "*"] }:

Открыть в Playground
/*eslint no-warning-comments: ["error", { "decoration": ["/", "*"] }]*/

//!TODO preceded by non-decoration character
/**
 *!TODO preceded by non-decoration character in a block comment
 */

Когда не следует использовать

  • Если у вас большой код, который не разрабатывался с политикой неиспользования таких предупреждающих терминов, вы можете получить сотни предупреждений/ошибок, что может быть неэффективно, если вы не можете исправить все их (например, если у вас нет времени на это), так как вы можете пропустить другие предупреждения/ошибки или привыкнуть к многим из них и больше не обращать на них внимания.
  • По той же причине, что и в предыдущем пункте: не следует настраивать термины, которые очень часто используются (например, центральные части родного языка, используемые в ваших комментариях).

Версия

Это правило было добавлено в ESLint v0.4.4.

Ресурсы

  • Исходный код правила
  • Исходный код тестов

© OpenJS Foundation and other contributors
Licensed under the MIT License.
https://eslint.org/docs/latest/rules/no-warning-comments

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API