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 中引入。