Skip to content
← Back to rules

eslint/max-lines-per-function 厳格なルール

何をするか

関数内のコード行数の上限を設定します。このルールは、関数が指定された行数を超えないように保証し、保守性や理解しやすさを高める小さな、焦点の当たった関数を促進します。

なぜ問題なのか

一部の人々は、大きな関数はコードの悪臭(コードスモーク)であると考えます。大きな関数は多くのことを行いやすく、何が行われているかを追うのが難しくなります。多くのコーディングスタイルガイドでは、関数が含む行数に制限を設けます。このルールは、そのスタイルを遵守するのに役立ちます。

特定の最大値で 誤り のコード例:

js
/* { "eslint/max-lines-per-function": ["error", 2] } */
function foo() {
  const x = 0;
}

/* { "eslint/max-lines-per-function": ["error", 4] } */
function foo() {
  // コメントの後に空白行

  const x = 0;
}

特定の最大値で 正しい コード例:

js
/* { "eslint/max-lines-per-function": ["error", 3] } */
function foo() {
  const x = 0;
}

/* { "eslint/max-lines-per-function": ["error", 5] } */
function foo() {
  // コメントの後に空白行

  const x = 0;
}

設定

このルールは以下のプロパティを持つ設定オブジェクトを受け入れます。

IIFEs

type: boolean

default: false

IIFEs オプションは、即時関数実行式(IIFE)が行数カウントに含まれるかどうかを制御します。デフォルトでは、IIFE は考慮されませんが、true に設定すると、関数の行数カウントに含まれます。

max

type: integer

default: 50

関数内で許容される最大行数。

skipBlankLines

type: boolean

default: false

完全に空白文字のみからなる行をスキップします。

skipComments

type: boolean

default: false

コメントのみを含む行をスキップします。

使用方法

設定ファイルまたは CLI でこのルールを 有効化 するには、次のようにします:

json
{
  "rules": {
    "max-lines-per-function": "error"
  }
}
bash
oxlint --deny max-lines-per-function

参照