0

RuboCopの重大度「エラー」と「致命的」の違いは何ですか?

重大度に関するドキュメントには、

各警官には、所属する部門に基づいたデフォルトの重大度レベルがあります。レベルは、Lint の場合は警告であり、その他すべての場合は規則です。警察は重大度レベルをカスタマイズできます。許可されるパラメーターは、リファクタリング、規則、警告、エラー、および致命的です。

上記の一般的なルールからの例外が 1 つあります。それは 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 に答える