max-len
Ограничивает максимальную длину строки
Это правило было устаревшим в ESLint v8.53.0. Оно будет удалено в v11.0.0. Используйте соответствующее правило в @stylistic/eslint-plugin.
Очень длинные строки кода на любом языке бывает трудно читать. Чтобы повысить удобство чтения и сопровождаемость, многие разработчики условились ограничивать строки кода числом символов X (традиционно — 80 символами).
var foo = { "bar": "This is a bar.", "baz": { "qux": "This is a qux" }, "difficult": "to read" }; // very long
Описание правила
Это правило ограничивает максимальную длину строки, чтобы повысить удобство чтения и сопровождаемость кода. Длина строки определяется количеством символов Unicode в ней.
Параметры
Это правило может принимать до двух числовых позиционных аргументов (для параметров code и tabWidth), за которыми следует объект параметров (позиционные аргументы имеют приоритет):
-
"code"(по умолчанию80) задает максимальную длину строки -
"tabWidth"(по умолчанию4) задает ширину символа табуляции -
"comments"задает максимальную длину строки для комментариев; по умолчанию используется значениеcode -
"ignorePattern"игнорирует строки, соответствующие регулярному выражению; может соответствовать только одной строке и должен быть экранирован дважды при записи в YAML или JSON -
"ignoreComments": trueигнорирует все завершающие комментарии и комментарии, расположенные на отдельных строках -
"ignoreTrailingComments": trueигнорирует только завершающие комментарии -
"ignoreUrls": trueигнорирует строки, содержащие URL -
"ignoreStrings": trueигнорирует строки, содержащие строку в двойных или одинарных кавычках -
"ignoreTemplateLiterals": trueигнорирует строки, содержащие шаблонный литерал -
"ignoreRegExpLiterals": trueигнорирует строки, содержащие литерал регулярного выражения
code
Примеры неправильного кода для этого правила с параметром { "code": 80 } по умолчанию:
/*eslint max-len: ["error", { "code": 80 }]*/
Примеры правильного кода для этого правила с параметром { "code": 80 } по умолчанию:
/*eslint max-len: ["error", { "code": 80 }]*/
var foo = {
"bar": "This is a bar.",
"baz": { "qux": "This is a qux" },
"easier": "to read"
};
tabWidth
Примеры неправильного кода для этого правила с параметром { "tabWidth": 4 } по умолчанию:
/*eslint max-len: ["error", { "code": 80, "tabWidth": 4 }]*/
Примеры правильного кода для этого правила с параметром { "tabWidth": 4 } по умолчанию:
/*eslint max-len: ["error", { "code": 80, "tabWidth": 4 }]*/
var foo = {
"bar": "This is a bar.",
"baz": { "qux": "This is a qux" }
};
comments
Примеры неправильного кода для этого правила с параметром { "comments": 65 }:
/*eslint max-len: ["error", { "comments": 65 }]*/
/**
**/
ignoreComments
Примеры правильного кода для этого правила с параметром { "ignoreComments": true }:
/*eslint max-len: ["error", { "ignoreComments": true }]*/
/**
* This is a really really really really really really really really really long comment
**/
ignoreTrailingComments
Примеры правильного кода для этого правила с параметром { "ignoreTrailingComments": true }:
/*eslint max-len: ["error", { "ignoreTrailingComments": true }]*/
var foo = 'bar'; // This is a really really really really really really really long comment
ignoreUrls
Примеры правильного кода для этого правила с параметром { "ignoreUrls": true }:
/*eslint max-len: ["error", { "ignoreUrls": true }]*/
var url = 'https://www.example.com/really/really/really/really/really/really/really/long';
ignoreStrings
Примеры правильного кода для этого правила с параметром { "ignoreStrings": true }:
/*eslint max-len: ["error", { "ignoreStrings": true }]*/
var longString = 'this is a really really really really really long string!';
ignoreTemplateLiterals
Примеры правильного кода для этого правила с параметром { "ignoreTemplateLiterals": true }:
/*eslint max-len: ["error", { "ignoreTemplateLiterals": true }]*/
var longTemplateLiteral = `this is a really really really really really long template literal!`;
ignoreRegExpLiterals
Примеры правильного кода для этого правила с параметром { "ignoreRegExpLiterals": true }:
/*eslint max-len: ["error", { "ignoreRegExpLiterals": true }]*/
var longRegExpLiteral = /this is a really really really really really long regular expression!/;
ignorePattern
Примеры правильного кода для этого правила с параметром ignorePattern:
/*eslint max-len:
["error", { "ignorePattern": "^\\s*var\\s.+=\\s*require\\s*\\(" }]*/
var dep = require('really/really/really/really/really/really/really/really/long/module');
Связанные правила
Версия
Это правило появилось в ESLint v0.0.9.
Ресурсы
© OpenJS Foundation and other contributors
Licensed under the MIT License.
https://eslint.org/docs/latest/rules/max-len