id-denylist
禁止指定的标识符
“计算机科学中只有两件难事:缓存失效和命名事物。” — Phil Karlton
通用名称会导致难以理解的代码。此规则允许您指定一个禁止使用的标识符名称列表,以避免这种做法。
规则详情
此规则禁止在赋值和 `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 中引入的。