Spec-Zone.ru › ESLint

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 } по умолчанию:

Открыть в Playground
/*eslint max-len: ["error", { "code": 80 }]*/

var foo = { "bar": "This is a bar.", "baz": { "qux": "This is a qux" }, "difficult": "to read" };

Примеры правильного кода для этого правила с параметром { "code": 80 } по умолчанию:

Открыть в Playground
/*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 } по умолчанию:

Открыть в Playground
/*eslint max-len: ["error", { "code": 80, "tabWidth": 4 }]*/

		var foo = { "bar": "This is a bar.", "baz": { "qux": "This is a qux" } };

Примеры правильного кода для этого правила с параметром { "tabWidth": 4 } по умолчанию:

Открыть в Playground
/*eslint max-len: ["error", { "code": 80, "tabWidth": 4 }]*/

		var foo = {
				"bar": "This is a bar.",
				"baz": { "qux": "This is a qux" }
		};

comments

Примеры неправильного кода для этого правила с параметром { "comments": 65 }:

Открыть в Playground
/*eslint max-len: ["error", { "comments": 65 }]*/

/**
 * This is a comment that violates the maximum line length we have specified
**/

ignoreComments

Примеры правильного кода для этого правила с параметром { "ignoreComments": true }:

Открыть в Playground
/*eslint max-len: ["error", { "ignoreComments": true }]*/

/**
 * This is a really really really really really really really really really long comment
**/

ignoreTrailingComments

Примеры правильного кода для этого правила с параметром { "ignoreTrailingComments": true }:

Открыть в Playground
/*eslint max-len: ["error", { "ignoreTrailingComments": true }]*/

var foo = 'bar'; // This is a really really really really really really really long comment

ignoreUrls

Примеры правильного кода для этого правила с параметром { "ignoreUrls": true }:

Открыть в Playground
/*eslint max-len: ["error", { "ignoreUrls": true }]*/

var url = 'https://www.example.com/really/really/really/really/really/really/really/long';

ignoreStrings

Примеры правильного кода для этого правила с параметром { "ignoreStrings": true }:

Открыть в Playground
/*eslint max-len: ["error", { "ignoreStrings": true }]*/

var longString = 'this is a really really really really really long string!';

ignoreTemplateLiterals

Примеры правильного кода для этого правила с параметром { "ignoreTemplateLiterals": true }:

Открыть в Playground
/*eslint max-len: ["error", { "ignoreTemplateLiterals": true }]*/

var longTemplateLiteral = `this is a really really really really really long template literal!`;

ignoreRegExpLiterals

Примеры правильного кода для этого правила с параметром { "ignoreRegExpLiterals": true }:

Открыть в Playground
/*eslint max-len: ["error", { "ignoreRegExpLiterals": true }]*/

var longRegExpLiteral = /this is a really really really really really long regular expression!/;

ignorePattern

Примеры правильного кода для этого правила с параметром ignorePattern:

Открыть в Playground
/*eslint max-len:
["error", { "ignorePattern": "^\\s*var\\s.+=\\s*require\\s*\\(" }]*/

var dep = require('really/really/really/really/really/really/really/really/long/module');

Связанные правила

  • complexity
  • max-depth
  • max-nested-callbacks
  • max-params
  • max-statements

Версия

Это правило появилось в ESLint v0.0.9.

Ресурсы

  • Исходный код правила
  • Исходный код тестов

© OpenJS Foundation and other contributors
Licensed under the MIT License.
https://eslint.org/docs/latest/rules/max-len

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API