id-match

要求标识符匹配指定的正则表达式

"There are only two hard things in Computer Science: cache invalidation and naming things." — Phil Karlton

在项目中一致地命名事物是代码创建的一个经常被低估的方面。如果做得正确,它可以为您的团队节省不必要的头疼和误导时间。此规则允许您精确定义和强制执行团队应使用的变量和函数名称。不再局限于 camelCase、snake_case、PascalCase 或 oHungarianNotation。id-match 满足您的所有需求!

规则详情

此规则要求分配和 function 定义中的标识符与指定的正则表达式匹配。

选项

此规则具有指定正则表达式的字符串选项。

fJnESZ8MCn9lxFB0/qPFY+Q0hHaEmJrPrUQ4R178vQVqXRuwZx3UnW4/3E2Pv/Y/

{
    "id-match": ["error", "^[a-z]+([A-Z][a-z]+)*$"]
}

NS3nOhe77b03gAl00PuBTth/TSJ8tVx11FoqQweTg37viARK9xi6S++nP6Pzd7QeQZaWuBFOOHV1WThYZmg6gHt5sHftkLk2rkF0ReM4YoMLjIHUZrWL1Go6puoVu1m8

/*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() {
    // ...
};

class My_Class {}

class myClass {
    do_something() {}
}

class myClass {
    #do_something() {}
}

NS3nOhe77b03gAl00PuBTth/TSJ8tVx11FoqQweTg37viARK9xi6S++nP6Pzd7QebOOpdnhoU9K/hz7EHOHbYalHsSOTomRZeOXQwbI1Uk0q8Cdnz9M34QeRW/vib4gH

/*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
};

class myClass {}

class myClass {
    doSomething() {}
}

class myClass {
    #doSomething() {}
}

8pL03zs6hZobHhmJ5wsandpdaRcjH6aPQALoLE0Fz/HNdCOjd7leS8z+vp9suWsx

    30EkeAXfVP9YEEHfpJCRY3UazgwFkx0H/OHoPLktYzHOSHJS4eeEymGWzynLGE9gHT63Fzb4xyHD7h5qgr4MWv6xth+SGNw1StxFRrcZYubCvCAhW6SMJJmU2I64g9khpU7/OyHo5PaZV/jpQ6+DLN8DJP1wWBRgBir5W+WHngsLsOKbd+lZqXmTrzCFMJLs6RFuTmOkEGXEGPcdWciDA2OOo9n2KH1JDFRyBPpJZmWkwmHMXWer23prI87cqvCrhln+fjggjhsgBlhm/BMquswL+Zf8FxbHPnd/qhZKoHs9W3Vtv9NB21eHZ5/y9oNYUdDvnWKq8kwRrSMzEsz5BqDwixUbU1qfcFADQWIO/hOFzpVNIrwKR198LWsYHkAuDcMXnf7n9UeC9QM5BOG/sNaJpnzcngMDePSfqWcpvdX6Qq4x9xGQu+bXE7hZVJD4pwbdgj/qpmWlhlhSTtnDrspAd6E0JYQHWU5eFXlQKvsvi4efG9zwUjwBKqCMHtv8XebHJoGIkdvFKN4GJ4hmEBvoh+YNQ6o94cijXqdTPo5OGpr6pOqksrbp1qPTY7KazeZCY3abOK6ePhO2RpZ0OZgbWAPcPV8ihGLsEjdTYRGFCTd5q3iBfxD4qXQxyzJXOCyGo6gjDQnwDphnoyOcXe7+u+FiaOTdiM4w5/XIpPRXXIQk6Qd61u3bI0lf4to2SRDUGkCOZI/elvn/NuWUHJCKaWUnLG5P+UrrDIq95Yypea7xIdZ4xgYXAnQ0sNem10vCdDkzcG8eJzybhO72AnbbEtMQXX6OdBMYCyQ6cb8bCTs/dRTUfFWDpJ+lG2VCXHpWC2abK9m+X69PAlyh97WaJOpsU4u71gPfW4mO7ayaJVzSzP2lk41sIfpLkDfEfmdmyJ788FXHFyKvMFd1+9VWK7+gc1r3Nf83qPB0kfQEZ0P5ZMex0ge2bSFkVzHiu55/7T0YeArlQytaP2ciFw8B/NST17Naq/dDLseIGC8oVE/dtrJTLlMVEAv8+FJFDJzNJVJBeLSoKadNuv520KkjFU+KDHasQYKMf5+oQ4CqM6t/lP61eNmjq/xd31nmQWbxqS7YVfiamN1FqF2yuw==

properties

NS3nOhe77b03gAl00PuBTth/TSJ8tVx11FoqQweTg35PE0Vr/hANjhH2v2g4pH6LZ+IlBf6EyZufAduFUAmtdhAaHm4lBjylwS5JcY3oqSfkwv1bUfbDuKNRc2P/TOSyB/SAaj6IHphroPb/AIxHqA==

/*eslint id-match: ["error", "^[a-z]+([A-Z][a-z]+)*$", { "properties": true }]*/

var obj = {
    my_pref: 1
};

classFields

NS3nOhe77b03gAl00PuBTth/TSJ8tVx11FoqQweTg35PE0Vr/hANjhH2v2g4pH6LirrQ3FKe/hi/xrk8NpRw6OmSccBfP+yU81GR2y62LcakXD8bZMbxwapf5VvNxvhHtwyByznbQh+8M6FfhSNbug==

/*eslint id-match: ["error", "^[a-z]+([A-Z][a-z]+)*$", { "properties": true }]*/

class myClass {
    my_pref = 1;
}

class myClass {
    #my_pref = 1;
}

onlyDeclarations

NS3nOhe77b03gAl00PuBTth/TSJ8tVx11FoqQweTg35PE0Vr/hANjhH2v2g4pH6LZFc0BhUXpduguD4+KrAMc9gVWvL7s0Ola1efUm4ke5u9+9+ky6d4h3rRcuKAi6mYIbmikon3r0/4/mp9EAF9RIt7N595AmBlbQeQVXXy7lQ=

/*eslint id-match: [2, "^[a-z]+([A-Z][a-z]+)*$", { "onlyDeclarations": true }]*/

do_something(__dirname);

ignoreDestructuring: false

P9K6qX5NEbGUTYyzcipfhoCP91lSFuDC8JLzaRg21fPEniRwb7iMc4rM1CQR9tVgA86IT2dOiU0aRqOL/BguJyDxdsAyLQKD/yqabsIzlqTQWlZ8knH8FH2j9fiWwBrAU+Lp2np21asyz2ODtTgspQ==

/*eslint id-match: [2, "^[^_]+$", { "ignoreDestructuring": false }]*/

var { category_id } = query;

var { category_id = 1 } = query;

var { category_id: category_id } = query;

var { category_id: category_alias } = query;

var { category_id: categoryId, ...other_props } = query;

ignoreDestructuring: true

NS3nOhe77b03gAl00PuBTkGFVPLG9+QgDaT93kAXUC4X+6h6ARAcU25si6G/sI83rrsDoWsIFau1nkefC8WomlxHHwJKL1vn5Dqlh9vQuSOfRFeB72vxvLIkBFpItQBNU/Lsw4XO0rDSbjByMIDRXw==

/*eslint id-match: [2, "^[^_]+$", { "ignoreDestructuring": true }]*/

var { category_id: category_alias } = query;

var { category_id, ...other_props } = query;

NS3nOhe77b03gAl00PuBTkGFVPLG9+QgDaT93kAXUC4X+6h6ARAcU25si6G/sI83rrsDoWsIFau1nkefC8WomlxHHwJKL1vn5Dqlh9vQuSNt5x2tVVEuJTT7ZipUepigLfRmzTamxYgGFB/XE/tHjA==

/*eslint id-match: [2, "^[^_]+$", { "ignoreDestructuring": true }]*/

var { category_id } = query;

var { category_id = 1 } = query;

var { category_id: category_id } = query;

何时不使用

ev8kq/DWfVh0ue6A8DZoV/NGjG0lEzYbwRHcOVas/nL1iUSMzoV3B+kUZimhj9ksI7cnldYaYZEB5Jgc57rXo8HWJxVjkNZAUZm3QHsKqjTOIxt14FgpE1YyugaqIPVZ1ErrAQdp4LIYnDxdkK8IMbCKBGA5CA4h7RngkHpOM/fiPk6e3gnND9jK2QuBlpg4S2G79XcTIl6Zd7YQkXY+gKyvwE5lAg5OOPkUlV8PuVU6GCdrJl9X54pEO84nPDPKS8vZYdhwgKgy8BziMwtj+g==