【发布时间】:2016-04-27 16:17:42
【问题描述】:
故事:
我们将ESLint 与一组不同的插件一起使用。很久以前,在一个特定的 JS 文件(Protractor 的页面对象)中,其中一条规则是脚本顶部的 disabled via a comment:
/* eslint-disable protractor/no-by-xpath */
因为使用了违反no-by-xpath 的xpath() 方法,当时我们还没有找到解决方法,我们只是禁用了检查。
问题:
如今,页面对象源代码已更改,不再使用xpath() 方法。但是,该规则被禁用,因为禁用它的评论仍然存在。
问题:
我们的目标是在源代码中找到规则被禁用但没有被违反的地方。 ESLint 是否提供任何报告?你会如何解决这个问题?
将不胜感激任何见解和提示。
【问题讨论】:
-
诚实的问题:为什么不直接搜索代码?因为你有很多
eslint-disable? -
@DenysSéguret 对不起,我的意思是问一个通用方法,我们不知道我们正在搜索什么规则。基本上,找到所有被禁用但实际上没有违反的规则。 “no-by-xpath”只是一个例子。谢谢。
-
@DenysSéguret 希望动机很明确。我们并不特别喜欢在特定地方禁用规则,但它时常发生。目标是仅在确实有必要、有意义并且确实可以完成工作时才禁用规则。在源代码中留下禁用规则的 cmets 可能会导致我们忽略代码违规,因为意外留下了“过时”的 cmets。抱歉,我不擅长解释事情:)
-
有一个closed issue 要求这样做,但没有实现。
标签: javascript eslint static-code-analysis