A Little Each Day

note to self

rubocopを導入してコードの品質を保つ方法

こんにちは。本日はrubocopを使う方法についてです。

Rubyの静的コード解析であるrubocopを導入すれば、チームで開発している場合など、個々人によって書き方が違うコードに規則を適用して品質が保たれたコードを書くことができるメリットがあります。

rubocopとは


静的コード解析をチームに導入することで、必然的に規約に則ったコードが書かれるため、ソフトウェアの品質を保つことができるようになります。

rubocopのインストール

まずはrubocop本体のインストール。GemなのでRailsプロジェクト毎のGemfileに書いてもよいが、今回はターミナルでインストールします。

$ gem install rubocop


インストールが完了したら念のためきちんとインストールできているかバージョンを確認。

$ rubocop -v
0.52.1


あとはテストしたいディレクトリに移動して以下のコマンドを叩くだけです。

$ cd my/cool/ruby/project
$ rubocop


以上でrubocop本体のインストールと簡単な使い方は完了です。


linter用のrubocopをインストール

rubocopをインストールしていちいちコマンドを打つのはめんどくさいですよね。お手持ちのテキストエディタでリアルタイムでコードを解析してくれたら便利ですよね。その場合はlinter-rubocopをインストールしましょう。テキストエディタの種類はたくさんありますが、今回はAtomとSublimeTextを例に説明していきます。

Atomの場合

Atomの場合は、先にlinterをインストールします。

linter自体は各linter用の外枠パッケージみたいなもので、ここに各言語ごとに対応したlinterプラグインをインストールしていく。これ単体で動くわけではないのでご注意を。

Atomの場合

[Preferences]→[Install]→[linter]と入力しインストール


続いてlinter-rubocopをインストール。

[Preferences]→[Install]→[linter-rubocop]と入力しインストール


最後にrubocopのパスを設定します。

$ which rubocop


でパスを取得したらAtomのlinter-rubocopの設定画面でパスを設定します。


以上でAtom側の設定は完了です。


sublime text

sublimetextも同様にlinter本体とプラグインをインストールしていきます。sublimeの場合はsublime-linterの方が人気で活発なのでこちらをインストールします。


Package Controlからsublime-linterをインストールして、こちらもAtom同様にsublime-linter-rubocopというrubocop専用プラグインをインストールします。


あとはテキストエディタ下に規約違反があればエラーメッセージが表示されます。



本日は以上です。