ESLint plugin to restrict short variable name. Currently has one rule:
- var-length/scope: force variables that live in larger scope to have longer name.
npm i -D eslint-plugin-var-length
// .eslintrc.js
"plugins": [
// ...
"var-length"
],
// .eslintrc.js
"rules": {
// ...
"var-length/scope": ["error"]
}
This rule forces variables that live in larger scope to have longer name.
Examples of incorrect code for this rule:
// Argument 'x' must have at least 2 characters
function double(x) {
const result = x * x;
return result;
}
Examples of correct code for this rule:
// Argument 'x' can be one character long because this function is short
function double(x) {
return x * x;
}
This rule accepts an object with following properties (all optional):
lengthCount
:"length"
,"codePoint"
or a function(str: string) => number
(default:"length"
). Specifies how to calculate the length of a variable name."length"
: equivalent to(str: string) => str.length
."codePoint"
: equivalent to(str: string) => [...str].length
.
checkFunctionName
: boolean value (default:false
). If set totrue
, function names in function declarations are also checked.checkExportedName
: boolean value (default:false
). If set totrue
, exported variable names are also checked.limit
: Object or function to specify how to calculate the minimum variable length for given scope (see below; defaults to{ factor: 0.75 }
).
By default, the minumum variable length is quadratic to the number of lines in the surrounding scope:
minimumLength = Math.ceil(factor * Math.sqrt(linesCount));
The factor
defaults to 0.75
. By passing an object of the form { factor: num }
as the limit
option, you can override the factor. A smaller factor is more permissive.
If you want more control on how to calculate the minimum length, pass a function as limit
.
Welcome
MIT