max-len
強制執行最大行長度
任何語言中過長的程式碼行都可能難以閱讀。為了幫助提高可讀性和可維護性,許多程式設計人員制定了將程式碼行限制為 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
)指定 Tab 字元的寬度"comments"
強制執行註解的最大行長度;預設為code
的值"ignorePattern"
忽略符合正則表達式的行;只能符合單行,並且在 YAML 或 JSON 中撰寫時需要進行雙重跳脫"ignoreComments": true
忽略所有尾隨註解和位於單獨行上的註解"ignoreTrailingComments": true
僅忽略尾隨註解"ignoreUrls": true
忽略包含 URL 的行"ignoreStrings": true
忽略包含雙引號或單引號字串的行"ignoreTemplateLiterals": true
忽略包含樣板字面值的行"ignoreRegExpLiterals": true
忽略包含 RegExp 字面值的行
code
此規則使用預設 { "code": 80 }
選項的不正確程式碼範例
在 Playground 中開啟
/*eslint max-len: ["error", { "code": 80 }]*/
此規則使用預設 { "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 }]*/
此規則使用預設 { "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 }]*/
/**
**/
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');
相關規則
版本
此規則在 ESLint v0.0.9 中引入。