beryuのチラシの裏

新米エンジニアの個人的なメモ

RuboCopについて

コードをチェックするためにRuboCopを導入しています。
本来なら開発途中に定期的に実行してコードのチェックをするべきなのでしょうが、いつも実行を忘れていました。笑
久しぶりに思い出して実行しては、沢山の警告が出て対応するのが大変だったのは今となっては良い思い出です(?)。
現在はGitHubにpushした際にCircleCIに自動でチェックしてもらっているので安心です。

さて、今回はそんなRuboCopの基本的なコマンド等についてメモを残しておきたいと思います。

RuboCopとは

Rubyのコードを解析してくれるgemで、Rubyの記述について「ここはこうしては?」といった風に警告をくれるものです。 警告は全てエラーを伴うような深刻なものでないことがほとんどで、あくまで理想的なコードを目指すためのツールといった印象です。

RuboCopの関連ファイルとしては、「.rubocop.yml」と「.rubocop_todo.yml」があります。

・「.rubocop.yml」
 RuboCopの設定ファイルで、解析の対象とするファイルであったり、チェックする構文のデフォルトを変えたりすることができます。

・「.rubocop_todo.yml」
 警告がとても多い時などに一旦警告を全てこのファイルに移すことができます。移した後に解析を実行してもターミナルに移した警告は出てこなくなります。  このファイルは$ rubocop --auto-gen-configを実行することで自動で作成されます。

基本的なコマンド
$ rubocop ・・・# 解析して結果をターミナルに吐き出す。

$ rubocop --help・・・# ヘルプを参照できます。

$ rubocop --auto-gen-config ・・・# .rubocop_todo.ymlに警告を一旦退避する。
                 # .rubocop.ymlに "inherit_from: .rubocop_todo.yml" と書く必要があります。

$ rubocop --auto-correct ・・・# 直せる箇所を自動で修正してくれます。