`Layout/EmptyLineAfterGuardClause` cop をデフォルトで有効にした

数日前の話だが Layout/EmptyLineAfterGuardClause cop をデフォルトで有効にする PR を開いてマージされた。

github.com

RuboCop の次のリリース (たぶん 0.59.0) で、ガード条件の後ろに空行を入れる cop がデフォルトで有効ということになる。

auto-correct でガード条件後に空白を適用した例として以下のような diff になる。

 return if guard_condition
+
 do_something

基本的に auto-correct したコードは空行が入るだけのため git blame が汚れないのもデフォルトで有効にしようと思った理由のひとつ。

加えてもともとコアチームメンバーが前向きだったことと、ハートビート.rb や同僚から意見を聞きつつ最終的に有効という判断とした。

デフォルトで無効だった間に rails/rails リポジトリで false positive の検出などをして改善しているので、それなりのユースケースは潰していると思うけれどもし何か見つけたら、upstream か RuboCop JP までフィードバックをお願いします。