開発環境
ruby 2.5.7
Rails 5.2.4.3
OS: macOS Catalina
RuboCopとは
RuboCopとは、rubyコードが「コーディング規約どおりに書かれているか」をチェックする静的コード解析ツールです。
rubocop−airbnbとは
airbnb社が作成した解析となり、今回はこちらを使用しコードチェックを行います。
gitは下記の通りです。
https://github.com/airbnb/ruby/tree/master/rubocop-airbnb
Rubocop-airbnb」のインストール
下記の通りに追加します。
group :development do
...
gem 'rubocop-airbnb'
end
$ bundle install
設定ファイルの作成
アプリケーションフォルダ配下に
「.rubocop.yml」と「.rubocop_airbnb.yml」ファイルを作成します。
これらを作成することによりrubocopでコード解析したくないファイルやフォルダを指定します。
※ファイル名の「.」は必要なため忘れず記載してください。
inherit_from:
- .rubocop_airbnb.yml
AllCops:
Exclude:
- 'db/**/*'
- 'bin/*'
- 'config/environments/*'
- 'config/application.rb'
- 'config/initializers/*'
- 'config/spring.rb'
- 'lib/tasks/*'
- 'vendor/**/*'
- 'path/ruby'
require:
- rubocop-airbnb
Rubocopでコードのチェック
ターミナルでアプリケーションフォルダに移動し、下記を実行。
$ bundle exec rubocop --require rubocop-airbnb
...
50 files inspected, 150 offenses detected
このように表示されます。
50ファイルをチェックして150箇所のコーディング違反があったことを意味しています。
このように数が膨大になると一つ一つチェックは難しいため、下記を実行。
$ bundle exec rubocop --require rubocop-airbnb -a
...
50 files inspected, 150 offenses detected, 150 offenses corrected
このように150個すべてを修正してくれました。
これでも修正が出来ていない場合は、目視での確認になります。
まとめ
このようにコードの自動修正が簡単にできます。
すごく便利なのでぜひ使ってみてください。
またtwitterではQiitaにはアップしていない技術や考え方もアップしていますので、
よければフォローして頂けると嬉しいです。
詳しくはこちら https://twitter.com/japwork