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