はじめに
こんにちは! スタメンのシュール (@shule517) です。
RuboCop って便利ですよね!
僕はRubyを書き始めた頃に、「君の書いたコードはRubyっぽくない。Rubocopを入れると良いよ!」とアドバイスをもらってから、ずっと愛用しています。RubocopはRubyの一般的な書き方を教えてくれたり、もっと効率の良い書き方を教えてくれるので、Rubyを学ぶ中でとても頼りになりました。
そんな僕のRubyの師匠(?)でもある Rubocop について紹介します!
Rubocopとは?
Rubocopは、RubyのコードをチェックしてくれるGemです。
上の例だとロケットハッシュ { :key => 1234 }
はRubyの古い構文なので、書き換えてね! と指摘されています。
Rubyのコーディングスタイルで有名な「Ruby Style Guide」を基準に、ルール違反した書き方をしていると指摘してくれます。また、「Rails Style Guide」を元にRailsに特化したルールまでチェックしてくれます。チェックしてくれるルールは、400以上あります。詳しくは公式マニュアルで!
Rubyを始めたばかりの人には、Rubyの書き方を勉強するためのヒントに。プロジェクトでRubyを使ってる人には、コーディング規約をプロジェクトに浸透させるために。 個人で開発している人にも、プロジェクトで使う人にも、おすすめです!
Rubocopを導入してみる
Gemをインストールする
ターミナルで gem install rubocop を実行する。
Rubocopを実行してみる
rubocop と実行すると、現在ディレクトリ配下のコードをチェックしてくれます。
ハッシュの書き方がルールと違うよ!と4箇所指摘されています。 この方法だとコマンドを実行するのが手間なので、次はRubyMineと連携してみましょう!
RubocopをRubyMineと連携しよう!
RubyMineと連携すると、コードを書いた瞬間にRubocopの指摘が表示されるようになります。コマンドを手動で実行しなくても良く、その場でコードを修正できるので、とても便利です!
RubyMineでRuboCopを有効にする
RubyMineのPreferencesメニューを開きます。[Editor → Inspections] の Rubocop を有効にしてください。
RubyMineのエディタにコードを書くと、リアルタイムでRubocopの指摘が表示されるようになりました。 連携完了です! どんどんコードを書いていきましょう!
Rubocopの指摘を自動修正しよう!
AutoCorrect機能を使うと、指摘内容を自動で修正してくれます。この機能がかなり強力で、大半の指摘は自動修正が可能です。Rubocopを導入した時点で大量のエラーがあると、手動で修正するのはとても大変なので、自動修正していきましょう!
rubocop -a ファイル名 で、指定したファイルの指摘内容を自動修正できます。 ※-a は、 --auto-correct の略です。
いろんな書き方のハッシュが全て同じ書き方に統一されました! ←が修正前 →が修正後のコードです。
さいごに
最後まで読んでいただいて、ありがとうございました! 次は、実際のプロジェクトにRubocopを導入した時の体験談について書こうと思います!
プロジェクトにRubocopを導入した時点では、大量のエラーが出てビビリました。。。 プロジェクトにRubocopを浸透させていくまでの方針や、工夫。 Siderの導入について書こうと思います!
次回もお楽しみに〜!