【Rails】Rubocopのrubocop.ymlとrubocop.todo.ymlの使い方

どうも、今回はRubocopの使い方について簡単にまとめておきたいと思います。

Rubocopのrubocop.ymlとrubocop.todo.ymlの使い方

結論

  1. $ bundle exec rubocop --auto-gen-configを実行します。
  2. rubocop.ymlrubocop.todo.ymlが作られます。
  3. rubocop.todo.ymlを確認して、rubocop.ymlに記載されたコード規約に違反しているファイルと違反内容を確認します。
  4. rubocop.todo.ymlから、修正したい違反ファイルを除外します。(修正したいファイルの記載されている行を削除します。)
  5. $ bundle exec rubocopで、修正したい違反ファイルに対するコード規約警告が出ていることを確認します。
  6. $ bundle exec rubocop -aで自動修正、もしくは手動で違反内容を修正します。
  7. $ bundle exec rubocopで、警告が出なくなっていることを確認します。
  8. 手順3~7を繰り返します。

ちなみに、作成されたrubocop.ymlrubocop.todo.ymlの簡単な説明は以下の通りです。

  • rubocop.ymlはコードを書くときのルールを記載するファイルです。
  • rubocop.todo.ymlはコードの書き方がrubocop.ymlに違反している場合、違反しているコードと違反内容が記録されるファイルです。
    • rubocop.todo.ymlに記載されているコード規約違反は、スルーされます。
    • もしコード規約違反を修正する場合は、rubocop.todo.ymlから修正したいファイルの行を削除します。

背景

みなさんにも経験があると思いますが、既存のアプリに限らず、新規作成したアプリでも、$ bundle exec rubocopを実施すると、一度に大量のコード規約違反が出てしまいます。

いきなりコード規約の全てをクリアさせるのは大変ですし、実際、修正が難しいものもあります。

ですので、上述のように--auto-gen-configをオプションとして付与して、rubocop.todo.ymlに修正予定の内容をまとめます。このrubocop.todo.ymlに記載されているコード規約違反は、スルーされますので、一旦コード規約違反の警告は出なくなります。

コードを修正する場合には、rubocop.todo.ymlから必要な部分だけを削除して、修正していく流れになります。

👇 以下を参考にさせていただきました。

https://qiita.com/kaito_program/items/c7d21f2e90cf9b7f7cf2

Leave a Reply

Your email address will not be published.

CAPTCHA