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" } по умолчанию:
/*eslint no-warning-comments: "error"*/
function callback(err, results) {
if (err) {
console.error(err);
return;
}
}
Пример правильного кода для параметров { "terms": ["todo", "fixme", "xxx"], "location": "start" } по умолчанию:
/*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" }:
/*eslint no-warning-comments: ["error", { "terms": ["todo", "fixme", "any other term"], "location": "anywhere" }]*/
Примеры правильного кода для параметров { "terms": ["todo", "fixme", "any other term"], "location": "anywhere" }:
/*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": ["*"] }:
/*eslint no-warning-comments: ["error", { "decoration": ["*"] }]*/
Примеры неправильного кода для параметров { "decoration": ["/", "*"] }:
/*eslint no-warning-comments: ["error", { "decoration": ["/", "*"] }]*/
Примеры правильного кода для параметров { "decoration": ["/", "*"] }:
/*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