mune diary

Hello, World!

RuboCop: Use the return of the conditional for variable assignment and comparison. と怒られた 【備忘録】

はじめに

4月に新卒入社をし様々な研修を経て、事業部に配属がされて1ヶ月が経ちました。普段業務では、Rails周りを扱っており今回は、RuboCopのWarningエラーから学んだことを備忘録として残します。

RuboCopとは、コーディン規約に準拠しているかどうかを解析してくれるgemです。

エラーの意味

仮にこんなコードを書いたとします。

if DateTime.now.hour < 12
  t = '午前'
else
  t = '午後'
end

RuboCopからRuboCop: Use the return of the conditional for variable assignment and comparison.といったWarningエラーがでると思います。これは、変数の代入には戻り値を使いましょうねってことでした。RubyもKotlin同様にif文は式であり、戻り値を返せるようです。

修正後

t = if DateTime.now.hour < 12
  '午前'
else
  '午後'
end

簡単な例であったため、あまりハッキリとした効果が見られませんが、複雑な条件分岐を扱うときなどにはDRYに書けて威力を発揮しそうです。

最後に

新卒エンジニアとしてまだまだインプットすることは多いですが、それを自分なりに要約してアウトプットすることは意識しないと習慣化できないので、今回のような小さな備忘録も習慣づけのために続けていこうと思います。