0

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
4

1 回答 1

1

rubocop 消息来源表明,编码问题是唯一可能导致致命结果的问题。如果你在 rubocop github 上搜索“fatal”,你会看到很少提及,如果你跟踪它的调用位置,基本上就是这样。

于 2016-01-14T08:18:10.967 回答