【发布时间】:2015-12-03 22:51:00
【问题描述】:
我的团队正在重构我们的代码库,并且我们正在使用 ESLint 来识别存在任何 lint 错误的文件。我们目前有一个具有极高阈值的 .eslintrc 文件,并且随着我们对代码库中的某些文件进行改进,我们正在降低这些阈值。例如,我们的“max-statements”阈值设置为 99 个语句,我们的目标是将其减少到 20 个语句。因此,我们逐渐将阈值从 99 降低到 98 再到 97 等,直到我们看到出现 lint 错误。然后我们知道接下来要重构哪个文件。
问题在于这种策略并不能止血。继续上面的例子,假设引入了一个新的控制器,它有 45 个语句。这个数字低于我们当前的阈值(因为我们的瓶颈文件有 99 条语句),但高于我们的 20 条语句的目标阈值。
理想情况下,我们希望看到任何违反我们当前阈值的 lint 错误的错误,以及违反我们目标阈值的 lint 错误的警告。这将为我们提供所有违规文件的列表,并首先对违规行为最严重的文件进行分类。例如:
// inside .eslintrc
....
"rules": {
"max-statements": [2, 99],
"max-statements": [1, 20]
}
....
在这种情况下,我们会看到包含超过 20 个语句的任何文件的警告,以及包含超过 99 个语句的每个文件的错误。
我尝试实现上述配置,但正如我所担心的那样,第一个“最大语句”规则被第二个覆盖。
有什么方法可以实现我所描述的吗?
【问题讨论】:
标签: javascript angularjs eslint