RuboCop | Style/GuardClause
概要
RuboCopの「Style/GuardClause」警告について。
ガード節の使用をチェックします。
デフォルトでは condition 内の処理が 1 行以上の場合にチェックします。
GuardClause
各設定値での検証結果をまとめます。
検証プログラム
guard_clause.rb
def test
if something
a = 1
print a
work
end
end
def test
return unless something
a = 1
print a
work
end
def test
a = 1
print a
work if something
end
実行結果 デフォルト の場合
.rubocop.yml
※明示的に設定しているが、デフォルト値なので何も設定しなくてもよい
GuardClause:
MinBodyLength: 1
IfUnlessModifier:
Enabled: false
$ rubocop guard_clause.rb
Inspecting 1 file
C
Offenses:
guard_clause.rb:2:3: C: Use a guard clause instead of wrapping the code inside a conditional expression.
if something
^^
1 file inspected, 1 offense detected
実行結果 4行以上 の場合にチェックするように設定します
.rubocop.yml
GuardClause:
MinBodyLength: 4
IfUnlessModifier:
Enabled: false
$ rubocop guard_clause.rb
Inspecting 1 file
.
1 file inspected, no offenses detected