どうも、今回は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
から必要な部分だけを削除して、修正していく流れになります。
👇 以下を参考にさせていただきました。