数日前の話だが Layout/EmptyLineAfterGuardClause
cop をデフォルトで有効にする PR を開いてマージされた。
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 までフィードバックをお願いします。