【发布时间】:2022-01-05 00:01:53
【问题描述】:
我坚信函数体内的空行是代码异味,表明我们需要执行重构以将函数分开。
但在 ESLint 中的现有规则(no-multiple-empty-lines/lines-between-class-members 等)中,包括流行插件中出现的规则,我找不到可以限制我在里面使用空行的规则函数体。有没有人遇到过这个问题?
这很糟糕:
function add(a, b) {
const result = a + b;
return result;
}
const multiply = (a, b) => {
const result = a * b;
return result;
}
这很好:
function add(a, b) {
const result = a + b;
return result;
}
const multiply = (a, b) => {
const result = a * b;
return result;
}
【问题讨论】:
-
这是一个非常奇怪的观点,尤其是坚信这一点,所以你可能需要编写自己的插件来解决这个问题。
-
好的,请您详细说明一下,这里到底有什么奇怪的地方?
-
坚信函数中不应该存在空格是奇怪的。空白在可读性中起着非常重要的作用,所以不允许它是很奇怪的。 ESLint 插件可满足所有常见需求,但这一点也不常见,因此您可能需要编写自己的插件。
-
查看我对 doberkofler 答案的评论。我简要描述了为什么空格是一种代码味道。
-
总是有这么多不同的用例,但我绝对不会在 JavaScript 中将
white spaces称为code smell;-)
标签: javascript typescript eslint