id-denylist
Запретить указанные идентификаторы
«Есть только две сложные вещи в информатике: проверка кэша и именование вещей.» — Фил Карлтон
Общие имена могут привести к трудночитаемому коду. Данное правило позволяет указать список запрещённых имён идентификаторов, чтобы избежать этой практики.
Подробное описание правила
Это правило запрещает указанные идентификаторы в присваиваниях и function определениях.
Это правило будет выявлять запрещённые идентификаторы, которые являются:
- объявлениями переменных
- объявлениями функций
- свойствами объектов, присваиваемыми во время создания объекта
- полями класса
- методами класса
Это правило не будет выявлять запрещённые идентификаторы, которые являются:
- вызовами функций (поэтому вы по-прежнему можете использовать функции, которыми вы не управляете)
- свойствами объектов (поэтому вы по-прежнему можете использовать объекты, которыми вы не управляете)
Настройки
Правило принимает один или несколько строк в качестве настроек: имена ограниченных идентификаторов.
Например, для ограничения использования общих общих идентификаторов:
{
"id-denylist": ["error", "data", "err", "e", "cb", "callback"]
}
Примечание: Первый элемент массива предназначен для уровня серьёзности правила (см. Настройка правил). Остальные элементы массива — это идентификаторы, которые вы хотите запретить.
Примеры неправильного кода для этого правила с примерами "data", "callback" запрещённых идентификаторов:
/*eslint id-denylist: ["error", "data", "callback"] */
var = { ...values };
function () {
// ...
}
element. = function() {
// ...
};
var itemSet = {
: [...values]
};
class Foo {
= [];
}
class Bar {
= [];
}
class Baz {
() {}
}
class Qux {
() {}
}
Примеры правильного кода для этого правила с примерами "data", "callback" запрещённых идентификаторов:
/*eslint id-denylist: ["error", "data", "callback"] */
var encodingOptions = {...values};
function processFileResult() {
// ...
}
element.successHandler = function() {
// ...
};
var 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