jsdoc/require-param 厳格なルール
何をするか
すべての関数パラメータが JSDoc の @param タグでドキュメント化されていることを要求します。
なぜこれは良くないのか
このルールは、すべての関数パラメータがドキュメント化されていることを要求することで、コードの品質と保守性を向上させることを目的としています。
例
このルールに対して不正なコードの例:
/** @param foo */
function quux(foo, bar) {}このルールに対して正しいコードの例:
/** @param foo */
function quux(foo) {}設定
このルールは以下のプロパティを持つ設定オブジェクトを受け入れます:
checkConstructors
type: boolean
default: false
コンストラクターメソッドのチェックを行うかどうか。
checkDestructured
type: boolean
default: true
デストラクチャリングされたパラメータのチェックを行うかどうか。
checkDestructuredRoots
type: boolean
default: true
以下のようなコードの場合にデストラクチャリングされたパラメータをチェックするかどうか:function doSomething({ a, b }) { ... }。この例では名前付きパラメータがないため、このオプションが true の場合、 {a, b} に対応する @param タグが必要です。
checkGetters
type: boolean
default: true
ゲッター メソッドのチェックを行うかどうか。
checkRestProperty
type: boolean
default: false
レストプロパティのチェックを行うかどうか。
checkSetters
type: boolean
default: true
セッター メソッドのチェックを行うかどうか。
checkTypesPattern
type: string
default: "^(?:[oO]bject|[aA]rray|PlainObject|Generic(?:Object|Array))$"
チェック対象外とするパラメータを識別する正規表現パターン。
exemptedBy
type: string[]
default: ["inheritdoc"]
@param チェックから除外する JSDoc タグのリスト。
使い方
このルールを設定ファイルまたは CLI で有効化するには、次のいずれかを使用できます:
{
"plugins": ["jsdoc"],
"rules": {
"jsdoc/require-param": "error"
}
}oxlint --deny jsdoc/require-param --jsdoc-plugin