max-statements-per-line
強制每行允許的最大陳述式數量
此規則已在 ESLint v8.53.0 中棄用。請使用 @stylistic/eslint-plugin-js
中對應的規則。
一行程式碼包含太多陳述式可能難以閱讀。程式碼通常從上到下閱讀,尤其是在掃描時,因此限制單行允許的陳述式數量對於可讀性和可維護性非常有益。
function foo () { var bar; if (condition) { bar = 1; } else { bar = 2; } return true; } // too many statements
規則詳情
此規則強制每行允許的最大陳述式數量。
選項
max
“max” 物件屬性是可選的 (預設值:1)。
使用預設 { "max": 1 }
選項時,此規則的不正確程式碼範例
在遊樂場中開啟
/*eslint max-statements-per-line: ["error", { "max": 1 }]*/
var bar;
if (condition) { }
for (var i = 0; i < length; ++i) { }
switch (discriminant) { default: }
function foo() { }
var qux = function qux() { };
(function foo() { })();
使用預設 { "max": 1 }
選項時,此規則的正確程式碼範例
在遊樂場中開啟
/*eslint max-statements-per-line: ["error", { "max": 1 }]*/
var bar, baz;
if (condition) bar = 1;
for (var i = 0; i < length; ++i);
switch (discriminant) { default: }
function foo() { }
var qux = function qux() { };
(function foo() { })();
使用 { "max": 2 }
選項時,此規則的不正確程式碼範例
在遊樂場中開啟
/*eslint max-statements-per-line: ["error", { "max": 2 }]*/
var bar; var baz;
if (condition) { bar = 1; } else { }
for (var i = 0; i < length; ++i) { bar = 1; }
switch (discriminant) { case 'test': break; default: }
function foo() { bar = 1; }
var qux = function qux() { bar = 1; };
(function foo() { bar = 1; })();
使用 { "max": 2 }
選項時,此規則的正確程式碼範例
在遊樂場中開啟
/*eslint max-statements-per-line: ["error", { "max": 2 }]*/
var bar; var baz;
if (condition) bar = 1; if (condition) baz = 2;
for (var i = 0; i < length; ++i) { bar = 1; }
switch (discriminant) { default: break; }
function foo() { bar = 1; }
var qux = function qux() { bar = 1; };
(function foo() { var bar = 1; })();
何時不使用它
如果您不關心每行陳述式的數量,您可以關閉此規則。
相關規則
版本
此規則已在 ESLint v2.5.0 中引入。