Skip to content
← Back to rules

eslint/max-params スタイル

何をするか

関数定義におけるパラメータの最大数を制限します。デフォルトでは 3 つです。

なぜ問題なのか

多くのパラメータを受け取る関数は、読むことや書くことが困難になることがあります。各パラメータが何であるか、その型、および順序を覚えておかなければならないためです。その結果、多くの開発者は関数が受け取れるパラメータ数に上限を設けるという習慣を守っています。

このルールに違反する誤りの例:

javascript
function foo(bar, baz, qux, qxx) {
  doSomething();
}
javascript
let foo = (bar, baz, qux, qxx) => {
  doSomething();
};

このルールに従う正しい例:

javascript
function foo(bar, baz, qux) {
  doSomething();
}
javascript
let foo = (bar, baz, qux) => {
  doSomething();
};

設定

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

countThis

this パラメータをカウントするタイミングを制御します。

  • "always": this を常にカウント
  • "never": this をカウントしない
  • "except-void": thisvoid 型でない場合に限りカウント

countVoidThis

type: boolean

default: false

countThis に対する非推奨の別名。

例えば { "countVoidThis": true } とすると、void 型の this パラメータを持つ関数も、パラメータ数の上限にカウントされるようになります。

max

type: integer

default: 3

関数定義で許可されるパラメータの最大数。

使い方

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

json
{
  "rules": {
    "max-params": "error"
  }
}
bash
oxlint --deny max-params

参照