id-denylist
不允許指定的識別符
❄️ 已凍結
此規則目前為凍結狀態,且不接受功能請求。
「電腦科學中只有兩件難事:快取失效和命名。」— Phil Karlton
通用名稱可能會導致難以理解的程式碼。此規則可讓您指定不允許的識別符名稱的拒絕清單,以避免這種做法。
規則詳情
此規則不允許在賦值和 function
定義中使用指定的識別符。
此規則將捕捉到不允許的識別符,這些識別符是
- 變數宣告
- 函數宣告
- 物件建立期間賦值的物件屬性
- 類別欄位
- 類別方法
它不會捕捉到不允許的識別符,這些識別符是
- 函數呼叫(因此您仍然可以使用您無法控制的函數)
- 物件屬性(因此您仍然可以使用您無法控制的物件)
選項
此規則接受一個或多個字串作為選項:受限識別符的名稱。
例如,限制使用常見的通用識別符
{
"id-denylist": ["error", "data", "err", "e", "cb", "callback"]
}
注意:陣列的第一個元素用於規則嚴重性(請參閱設定規則)。陣列中的其他元素是您要禁止的識別符。
此規則的不正確程式碼範例,其中範例 "data", "callback"
為受限識別符
在 Playground 中開啟
/*eslint id-denylist: ["error", "data", "callback"] */
const = { ...values };
function () {
// ...
}
element. = function() {
// ...
};
const itemSet = {
: [...values]
};
class Foo {
= [];
}
class Bar {
= [];
}
class Baz {
() {}
}
class Qux {
() {}
}
此規則的正確程式碼範例,其中範例 "data", "callback"
為受限識別符
在 Playground 中開啟
/*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 中引入。