Spec-Zone.ru › ESLint

id-denylist

Запрещает указанные идентификаторы

❄️ Заморожено

Это правило в настоящее время заморожено, и предложения по новым возможностям не принимаются.

«В информатике есть всего две сложные задачи: инвалидация кэша и выбор имён». — Фил Карлтон

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

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

Это правило запрещает указанные идентификаторы в присваиваниях и определениях function.

Правило обнаруживает запрещённые идентификаторы в следующих случаях:

  • объявления переменных
  • объявления функций
  • свойства объектов, которым присваиваются значения при создании объекта
  • поля классов
  • методы классов

Правило не обнаруживает запрещённые идентификаторы в следующих случаях:

  • вызовы функций (поэтому вы по-прежнему можете использовать функции, которые вам не подконтрольны)
  • свойства объектов (поэтому вы по-прежнему можете использовать объекты, которые вам не подконтрольны)

Параметры

Правило принимает в качестве параметров одну или несколько строк — имена идентификаторов, использование которых ограничено.

Например, чтобы ограничить использование распространённых общих идентификаторов:

{
    "id-denylist": ["error", "data", "err", "e", "cb", "callback"]
}

Примечание: Первый элемент массива задаёт уровень серьёзности правила (см. раздел Настройка правил). Остальные элементы массива — это идентификаторы, которые требуется запретить.

Примеры неправильного кода для этого правила с образцами "data", "callback" запрещённых идентификаторов:

Открыть в песочнице
/*eslint id-denylist: ["error", "data", "callback"] */

const data = { ...values };

function callback() {
    // ...
}

element.callback = function() {
    // ...
};

const itemSet = {
    data: [...values]
};

class Foo {
    data = [];
}

class Bar {
    #data = [];
}

class Baz {
    callback() {}
}

class Qux {
    #callback() {}
}

Примеры правильного кода для этого правила с образцами "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

Spec-Zone.ru

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