どうも、今回はRubocopの使い方について簡単にまとめておきたいと思います。
Rubocopのrubocop.ymlとrubocop.todo.ymlの使い方
結論
$ bundle exec rubocop --auto-gen-configを実行します。rubocop.ymlとrubocop.todo.ymlが作られます。rubocop.todo.ymlを確認して、rubocop.ymlに記載されたコード規約に違反しているファイルと違反内容を確認します。rubocop.todo.ymlから、修正したい違反ファイルを除外します。(修正したいファイルの記載されている行を削除します。)$ bundle exec rubocopで、修正したい違反ファイルに対するコード規約警告が出ていることを確認します。$ bundle exec rubocop -aで自動修正、もしくは手動で違反内容を修正します。$ bundle exec rubocopで、警告が出なくなっていることを確認します。- 手順3~7を繰り返します。
ちなみに、作成されたrubocop.ymlとrubocop.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から必要な部分だけを削除して、修正していく流れになります。
👇 以下を参考にさせていただきました。

