ジョージプログラマーの日記

Wow, look at what I did!

Atomエディタでrubocopを使ってコードの品質を保つ

Atomエディタを使ってRuby on Railsのアプリケーションを開発している人向けの記事です。 セットアップから使い方まで書いていきます。

出来ること

コーディング規約に沿ったコードが記述出来ているか簡単に確認出来ます。 私はAtomエディタを使っているのでAtomパッケージのlinterとlinter-rubocopを使ってコードをチェックすることにしました。 以下の画像のように修正箇所や修正内容が一目で確認できます。

修正箇所が発生している状態の画面

f:id:hattori6789:20170530220855p:plain

青い波線付近へマウスオーバーさせると

> Prefer double…

のように修正内容が表示されます。

目次

準備と使い方のまとめ

  1. AtomパッケージのLinterとlinter-rubocopをインストー
  2. RubyGemsのrubocopをインストー
  3. Atomでファイルを保存してコードをチェック
  4. Atomのコマンドパレットを開きLinter rubocop: Fix Fileと入力してコードを修正

準備

Atomパッケージをインストールする

Atomの環境設定から以下の2つのパッケージを検索しインストールします。

  1. Linter
  2. linter-rubocop(Linter用プラグイン

Atomの環境設定画面で検索します。 (Atom > Preferences… > Install タブ)

rubocop gemをインストールする

コマンドラインでrubocop gem をインストールします。 $ gem install rubocop

インストール出来たか確認します。現時点でインストールされたrubocopのバージョンは0.48.1でした。

$ rubocop -v
0.48.1

準備補足

ここまでの作業を終えてAtomエディタを開くとrubocopを使うことに必要なパッケージをAtomエディタ誘導してくれるので各パッケージをインストールします。

使い方

コードをチェックする

コードを記述したらcommand + s でファイルを保存します。 保存が終了した頃にrubocopが解析したコードで修正した方が良いところを教えてくれます。

コードを修正する

Atomのコマンドパレットを開きLinter rubocop: Fix Fileと入力してコードを修正します。 Atomのコマンドパレットの開くショートカットキーはcommand + Shift + pです。

あとがき

rubocop導入背景

GitHubでプルリクのレビュー依頼した際に「Railsのrubocopではダブルクォート優先になってるのでそのように修正して下さい」とコメントがありました。 同じことを繰り返さないように早速rubocopを使って静的なコード解析をすることにした。Atomエディタでrubocopを使ったコード解析はファイルを保存するだけでコードのチェックが出来るため大変便利です。 その他のAtomパッケージもあるので、使い勝手や開発が活発かどうか見て改めて選択しても良さそうです。リアルタイムにチェックしてくれるパッケージもあるようです。

追記

コーディングルールを変更しよう(2017/05/29)

Rubocopのコーディングルールをデフォルトから変更したい場合、プロジェクトのルートディレクトリに.rubocop.ymlを作成してルールを書くことで、デフォルトのルールを上書きできます。『Rails rubocop.yml』 などで検索すると参考になるページが見つかりそうです。rails/.rubocop.yml at master · rails/rails · GitHub

rubocop-linterのパスを設定する?(2017/05/30)

公式サイトを見ると特に記載がありませんが、RVMでRubyのバージョン管理をしている場合はパスを設定する必要があるようです。 Using RVM 自身の場合はrbenvでRubyのバージョン管理しており、特にパスを設定せずに使えました。

お世話になったサイト

ありがとうございました!