RuboCop | Style/BlockNesting
概要
RuboCopの「Style/BlockNesting」警告について。
この警告は、if文等のネストをチェックしてくれます。
デフォルトは 3 階層に設定されています。
名前はBlockNestingになっていますが、Rubyのブロックはこの警告のチェック対象外。
ネストのチェック対象
- :case
- :if
- :while
- :until
- :for
BlockNesting
デフォルトの設定値での検証結果をまとめます。
検証プログラム
block_nesting.rb
if (msg == 1)
if (msg == 2)
if (msg == 3)
if (msg == 4)
print 'if'
else
print 'else4'
end
else
print 'else3'
end
else
print 'else2'
end
else
print 'else1'
end
実行結果
$ rubocop block_nesting.rb
Inspecting 1 file
C
Offenses:
block_nesting.rb:4:7: C: Avoid more than 3 levels of block nesting.
if (msg == 4)
^^^^^^^^^^^^^
1 file inspected, 1 offense detected