首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

max-len

任何语言的非常长的代码行都很难阅读。为了提高可读性和可维护性,许多编码人员已经制定了将代码行限制为 X 个字符(传统上为80个字符)的约定。

代码语言:javascript
复制
var foo = { "bar": "This is a bar.", "baz": { "qux": "This is a qux" }, "difficult": "to read" }; // very long

规则细节

此规则强制执行最大行长度以增加代码的可读性和可维护性。一行的长度定义为该行中的 Unicode 字符数。

选项

此规则有一个数字或对象选项:

  • "code"(默认80)强制执行最大行长度
  • "tabWidth"(默认4)指定制表符的字符宽度
  • "comments"为注释强制执行最大行长度; 默认值为code
  • "ignorePattern"忽略与正则表达式匹配的行; 只能匹配单行,并且在使用 YAML 或 JSON 编写时需要双重转义
  • "ignoreComments": true 忽略他们自己的行中的所有尾随评论和评论
  • "ignoreTrailingComments": true 只会忽略尾随评论
  • "ignoreUrls": true 忽略包含 URL 的行
  • "ignoreStrings": true 忽略包含双引号或单引号字符串的行
  • "ignoreTemplateLiterals": true 忽略包含模板文字的行
  • "ignoreRegExpLiterals": true 忽略包含 RegExp 文字的行

代码

此规则的默认代码错误代码示例{ "code": 80 }

代码语言:javascript
复制
/*eslint max-len: ["error", 80]*/

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

具有默认选项的此规则的正确代码示例{ "code": 80 }

代码语言:javascript
复制
/*eslint max-len: ["error", 80]*/

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

tabWidth

此规则的默认代码错误代码示例{ "tabWidth": 4 }

代码语言:javascript
复制
/*eslint max-len: ["error", 80, 4]*/

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

具有默认选项的此规则的正确代码示例{ "tabWidth": 4 }

代码语言:javascript
复制
/*eslint max-len: ["error", 80, 4]*/

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

comments

此规则的错误代码示例包含以下{ "comments": 65 }选项:

代码语言:javascript
复制
/*eslint max-len: ["error", { "comments": 65 }]*/

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

ignoreComments

此规则的正确代码示例包含以下{ "ignoreComments": true }选项:

代码语言:javascript
复制
/*eslint max-len: ["error", { "ignoreComments": true }]*/

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

ignoreTrailingComments

此规则的正确代码示例包含以下{ "ignoreTrailingComments": true }选项:

代码语言:javascript
复制
/*eslint max-len: ["error", { "ignoreTrailingComments": true }]*/

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

ignoreUrls

此规则的正确代码示例包含以下{ "ignoreUrls": true }选项:

代码语言:javascript
复制
/*eslint max-len: ["error", { "ignoreUrls": true }]*/

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

ignoreStrings

此规则的正确代码示例包含以下{ "ignoreStrings": true }选项:

代码语言:javascript
复制
/*eslint max-len: ["error", { "ignoreStrings": true }]*/

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

ignoreTemplateLiterals

此规则的正确代码示例包含以下{ "ignoreTemplateLiterals": true }选项:

代码语言:javascript
复制
/*eslint max-len: ["error", { "ignoreTemplateLiterals": true }]*/

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

ignoreRegExpLiterals

此规则的正确代码示例包含以下{ "ignoreRegExpLiterals": true }选项:

代码语言:javascript
复制
/*eslint max-len: ["error", { "ignoreRegExpLiterals": true }]*/

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

ignorePattern

此规则的正确代码示例包含以下ignorePattern选项:

代码语言:javascript
复制
/*eslint max-len: ["error", { "ignorePattern": "^\\s*var\\s.+=\\s*require\\s*\(" }]*/

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

Related Rules

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

版本

该规则在 ESLint 0.0.9 中引入。

资源

扫码关注腾讯云开发者

领取腾讯云代金券

http://www.vxiaotou.com