Skip to content
← Back to rules

jsdoc/require-param 严格

An auto-fix is available for this rule.

它的作用

要求所有函数参数都必须使用 JSDoc @param 标签进行文档注释。

为什么这是不好的?

该规则旨在通过强制要求所有函数参数均需文档化,来提升代码质量和可维护性。

示例

此规则的错误代码示例:

javascript
/** @param foo */
function quux(foo, bar) {}

此规则的正确代码示例:

javascript
/** @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 启用此规则,可以使用:

json
{
  "plugins": ["jsdoc"],
  "rules": {
    "jsdoc/require-param": "error"
  }
}
bash
oxlint --deny jsdoc/require-param --jsdoc-plugin

参考资料