id-denylist
Запрещает указанные идентификаторы
Это правило в настоящее время заморожено, и предложения по новым возможностям не принимаются.
«В информатике есть всего две сложные задачи: инвалидация кэша и выбор имён». — Фил Карлтон
Общие имена могут затруднять понимание кода. Это правило позволяет задать список запрещённых имён идентификаторов, чтобы избежать такой практики.
Подробности правила
Это правило запрещает указанные идентификаторы в присваиваниях и определениях function.
Правило обнаруживает запрещённые идентификаторы в следующих случаях:
- объявления переменных
- объявления функций
- свойства объектов, которым присваиваются значения при создании объекта
- поля классов
- методы классов
Правило не обнаруживает запрещённые идентификаторы в следующих случаях:
- вызовы функций (поэтому вы по-прежнему можете использовать функции, которые вам не подконтрольны)
- свойства объектов (поэтому вы по-прежнему можете использовать объекты, которые вам не подконтрольны)
Параметры
Правило принимает в качестве параметров одну или несколько строк — имена идентификаторов, использование которых ограничено.
Например, чтобы ограничить использование распространённых общих идентификаторов:
{
"id-denylist": ["error", "data", "err", "e", "cb", "callback"]
}
Примечание: Первый элемент массива задаёт уровень серьёзности правила (см. раздел Настройка правил). Остальные элементы массива — это идентификаторы, которые требуется запретить.
Примеры неправильного кода для этого правила с образцами "data", "callback" запрещённых идентификаторов:
/*eslint id-denylist: ["error", "data", "callback"] */
const = { ...values };
function () {
// ...
}
element. = function() {
// ...
};
const itemSet = {
: [...values]
};
class Foo {
= [];
}
class Bar {
= [];
}
class Baz {
() {}
}
class Qux {
() {}
}
Примеры правильного кода для этого правила с образцами "data", "callback" запрещённых идентификаторов:
/*eslint id-denylist: ["error", "data", "callback"] */
const encodingOptions = {...values};
function processFileResult() {
// ...
}
element.successHandler = function() {
// ...
};
const itemSet = {
entities: [...values]
};
callback(); // all function calls are ignored
foo.callback(); // all function calls are ignored
foo.data; // all property names that are not assignments are ignored
class Foo {
items = [];
}
class Bar {
#items = [];
}
class Baz {
method() {}
}
class Qux {
#method() {}
}
Когда не следует использовать это правило
Вы можете отключить это правило, если не хотите ограничивать использование определённых идентификаторов.
Версия
Это правило появилось в ESLint v7.4.0.
Ресурсы
© OpenJS Foundation and other contributors
Licensed under the MIT License.
https://eslint.org/docs/latest/rules/id-denylist