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 选项控制是否将立即执行的函数表达式(IIFEs)计入行数统计。默认情况下,IIFEs 不被考虑,但当设为 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