规则详情
该规则旨在通过限制程序中允许的圈复杂度来降低代码复杂度。因此,当圈复杂度超过配置的阈值(默认为 20
)时,它会发出警告。
This rule is aimed at reducing code complexity by capping the amount of cyclomatic complexity allowed in a program. As such, it will warn when the cyclomatic complexity crosses the configured threshold (default is 20
).
AUws2W9Ay05gfoW+XpyXQ7bVZy5vtcutuTEk1bqqm6aX9VHXodCCo2zuNsxeFBAvWFZgxMYLlkMWAi/knhY927q2JPYlurWAvrEOrnZhTFDMHNEKE6lG47NuRc0ovM9QPfF3Id23204TuTLtPhMVJNmlcfXz4CnwvLxKW4NHK7M=
/*eslint complexity: ["error", 2]*/
function a(x) {
if (true) {
return x;
} else if (false) {
return x+1;
} else {
return 4; // 3rd path
}
}
function b() {
foo ||= 1;
bar &&= 1;
}
RpvEYHjebpF/G+L1YhNEYXs0wIWZHtbMeI8wmNKtBle+Tu4d5ZHwX5q+ZTpXtjXyrmIZ6XUt9u/RDTR5fsgXWOljBSIxuAMF2OXfNU8JXCFPJL+fJ6HcIpAzr0l2xJmNjTgir0z4zQYwo/YLtHTnNATc/vsbjkEQh6hMz/l8syw=
/*eslint complexity: ["error", 2]*/
function a(x) {
if (true) {
return x;
} else {
return 4;
}
}
function b() {
foo ||= 1;
}
pN9zq1DUXQUhk/BEpMmP6lhDQdcObsV4iHb7IpDfGlLCk4gFUUYLtnEmddFriUSDLxuk6qBz9Oyr3VJLk+yjA66hAqBUyxpt+tQuFSQ4Hp3HGJYKeSQ9SUcWV7N1beQwYXUT5cDPxiYJyQqXe/AjrNhZ/O0ZlX+Sqm724yAt1dOu3Tw2SFCvipijDwv5Y0wQzsQZUfWEsBnEInO7jPUzwWbmYTWRYhe/MVNYWuqwXdFjX1c3XbdTvuZpK5Ir424MG5FjHsXQhv2JCxHq3wJmDtFCUv49GPxWYrGNfaqt2rV1vgQX3AVZhYygghRYx7FMEB6LC58shXhJZyq4+az2ifBABSgziJPnNV+VRMjPHr0JOTDwpNVjNehMQ/A6v5X7wFKMmiZpPZsvkhQEhQZ5QYMx7dCCphsTXUTimmD03se6/nvpRrO2P5fuXEGPDnDvflumsh+haLi+tEaWv6JZLBaYYRw6c/1duMX0F2NQEc/TfBnw5wksywBXh03hILMCw81k8minDornzMSYGWDfzz1pHFak+Q7h3mnYBjZjilK2pZ5Zxr8yUESdRony9mc6oK6j5dkMpU6pLUK25LHf9A==
OV2YyGgI66EU+vvR9e6GMnTIHmhMS+Wp61I9lZFjx3L1Gj7p3btNbPGWXDeAbvZoAAv1VRSUtWCke7vYHYmHFLFlw4Sq0hCPjG0BkxxOyx5HEMBzNuXunNy9usjCgxSsLmWWn9c0YwVdPyNURBMyR/VpYQmpaiB/P340aCktQNHPuniYy2HL0Z80l+mgV5YY
/*eslint complexity: ["error", 2]*/
class C {
x = a || b || c; // this initializer has complexity = 3
}
class D { // this static block has complexity = 3
static {
if (foo) {
bar = baz || qux;
}
}
}
OV2YyGgI66EU+vvR9e6GMuDNpeAreZjNftHqRiyqKMk0A8Xv3IyqVLTDUffLukiwFWccZ4fCEde/D4d2TLwA2/MvlB+X1B558gQJoYMhHA/Fm0cnzrzBykHdq3SQ419LA1Uracrk3AYnGU03zbCGww5LdJenxZd/JfzdLqmV595KCJz5smtL43HLlXb9TDbe
/*eslint complexity: ["error", 2]*/
function foo() { // this function has complexity = 1
class C {
x = a + b; // this initializer has complexity = 1
y = c || d; // this initializer has complexity = 2
z = e && f; // this initializer has complexity = 2
static p = g || h; // this initializer has complexity = 2
static q = i ? j : k; // this initializer has complexity = 2
static { // this static block has complexity = 2
if (foo) {
baz = bar;
}
}
static { // this static block has complexity = 2
qux = baz || quux;
}
}
}