RuboCop 中的“错误”和“致命”严重性有什么区别?
关于严重性的文档说
每个警察都有一个基于其所属部门的默认严重性级别。该级别是对 Lint 的警告和对所有其他人的约定。警察可以自定义他们的严重程度。允许的参数是重构、约定、警告、错误和致命。
上面的一般规则有一个例外,那就是 Lint/Syntax,这是一种特殊的 cop,它在调用其他 cop 之前检查语法错误。它不能被禁用,并且它的严重性(致命)不能在配置中更改。
这表明致命比错误更严重,但我可以编写不是有效的 ruby 代码,它只会产生“错误”级别的攻击。
def foo
42
# No end
$ rubocop -D invalid.rb
Inspecting 1 file
E
Offenses:
invalid.rb:3:11: E: unexpected token $end
# No end
1 file inspected, 1 offense detected