# id-denylist
禁止指定标识符
"There are only two hard things in Computer Science: cache invalidation and naming things." — Phil Karlton
通用名称可能导致难以破译的代码。此规则允许您指定不允许的标识符名称的拒绝列表以避免这种做法。
# 规则详情
此规则不允许在分配和 function
定义中指定标识符。
此规则将捕获不允许的标识符,这些标识符是:
- 变量声明
- 函数声明
- 在对象创建期间分配给的对象属性
- 类字段
- 类方法
它不会捕获不允许的标识符:
- 函数调用(所以你仍然可以使用你无法控制的函数)
- 对象属性(因此您仍然可以使用您无法控制的对象)
# 选项
该规则采用一个或多个字符串作为选项:受限标识符的名称。
例如,要限制使用常见的通用标识符:
{
"id-denylist": ["error", "data", "err", "e", "cb", "callback"]
}
**注意:**数组的第一个元素是规则严重性(参见 配置规则
.数组中的其他元素是您要禁止的标识符。
带有示例 "data", "callback"
受限标识符的此规则的错误代码示例:
/*eslint id-denylist: ["error", "data", "callback"] */
var data = {...};
function callback() {
// ...
}
element.callback = function() {
// ...
};
var itemSet = {
data: [...]
};
class Foo {
data = [];
}
class Foo {
#data = [];
}
class Foo {
callback( {);
}
class Foo {
#callback( {);
}
带有示例 "data", "callback"
受限标识符的此规则的正确代码示例:
/*eslint id-denylist: ["error", "data", "callback"] */
var encodingOptions = {...};
function processFileResult() {
// ...
}
element.successHandler = function() {
// ...
};
var itemSet = {
entities: [...]
};
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 Foo {
#items = [];
}
class Foo {
method( {);
}
class Foo {
#method( {);
}
# 何时不使用
如果您不想限制某些标识符的使用,您可以关闭此规则。