id-match
要求标识符匹配指定的正则表达式(id-match)
“计算机科学只有两件难事:缓存失效和命名事情。” - Phil Karlton
在项目中始终如一地命名事物往往是低估了代码创建的一个方面。正确完成后,它可以节省您的团队数小时不必要的头部划伤和误导。该规则允许您精确地定义和执行团队应该使用的变量和函数名称。不再限制你自己的骆驼,蛇,PascalCase 或oHungarianNotation。Id-match 满足您的所有需求!
规则细节
此规则要求赋值和function
定义中的标识符与指定的正则表达式匹配。
选项
此规则对于指定的正则表达式具有字符串选项。
例如,为了执行 camelcase 命名约定:
{
"id-match": ["error", "^[a-z]+([A-Z][a-z]+)*$"]
}
此规则的正确
代码示例包含以下"^[a-z]+([A-Z][a-z]+)*$"
选项:
/*eslint id-match: ["error", "^[a-z]+([A-Z][a-z]+)*$"]*/
var myFavoriteColor = "#112C85";
var foo = bar.baz_boom;
var foo = { qux: bar.baz_boom };
do_something(
var obj = {
my_pref: 1
};
此规则的错误
代码示例包含以下"^[a-z]+([A-Z][a-z]+)*$"
选项:
/*eslint id-match: ["error", "^[a-z]+([A-Z][a-z]+)*$"]*/
var my_favorite_color = "#112C85";
var _myFavoriteColor = "#112C85";
var myFavoriteColor_ = "#112C85";
var MY_FAVORITE_COLOR = "#112C85";
function do_something() {
// ...
}
obj.do_something = function() {
// ...
};
该规则有一个对象选项:
"properties": true
要求对象属性与指定的正则表达式匹配
"onlyDeclarations": true
仅需要var
,function
以及class
声明匹配指定正则表达式
性能
Examples of incorrect
code for this rule with the "^[a-z]+([A-Z][a-z]+)*$", { "properties": true }
options:
/*eslint id-match: ["error", "^[a-z]+([A-Z][a-z]+)*$", { "properties": true }]*/
var obj = {
my_pref: 1
};
onlyDeclarations
此规则的正确
代码示例包含以下"^[a-z]+([A-Z][a-z]+)*$", { "onlyDeclarations": true }
选项:
/*eslint id-match: [2, "^[a-z]+([A-Z][a-z]+)*$", { "onlyDeclarations": true }]*/
do_something(__dirname
何时不使用它
如果您不想为所有标识符实施任何特定的命名约定,或者您的命名约定太复杂而无法通过配置此规则来强制执行,则不应启用此规则。
版本
这条规则是在 ESLint 1.0.0中引入的。