版本

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; var baz;
if (condition) { bar = 1; }
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() { bar = 1; })();

使用預設 { "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; var qux;
if (condition) { bar = 1; } else { baz = 2; }
for (var i = 0; i < length; ++i) { bar = 1; baz = 2; }
switch (discriminant) { case 'test': break; default: break; }
function foo() { bar = 1; baz = 2; }
var qux = function qux() { bar = 1; baz = 2; };
(function foo() { bar = 1; baz = 2; })();

使用 { "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 中引入。

資源

變更語言