「開発メンバーでコードの品質レベルを統一させたい!」いまの書き方に不安になったり、コーディングルールの統一などについて、考える場面も出てくることでしょう。そこで、ぜひ使ってほしいのが「RuboCop」です。RuboCopとは、ソースコードの品質を下げないために使われるRubyのコーディングチェックツールです。RuboCopを使うことで、誰でも簡単にソースコードの品質を維持できるようになります。この記事では、RuboCopの導入から使い方までを詳しく紹介していきます。RuboCopの使い方を、体系的に学べるようになってるよ!もくじRuboCopとはRuboCopのインストールRuboCopの使い方RuboCopの設定ファイルについてRuboCopの設定ファイルを変更RuboCopでファイルを自動修正RuboCopのリファクタリング手順RuboCopでRailsのコーディング規約を設定する際の注意点まとめRuboCopとはRuboCopとは、Rubyのコードがコーディング規約に沿っているかを確認できる「静的コード解析ツール(コーディングチェックツール)」の1つです。RuboCopを使うことで、ソースコードに対して以下のようなチェックをおこないます。条件式の見やすさソースコードの複雑度ハッシュなどの末尾にあるカンマの有無これらのコーディング規約は、自分で追加したり削除したりとカスタマイズすることが可能です。このような静的コード解析ツールを利用することで、複数メンバーで開発していても、コードを読みやすく品質を維持できるというメリットがあります。1人で開発しているときであっても、綺麗なコードで管理することに越したことはありませんよね。目次へ戻るRuboCopのインストールRuboCopは、gemで簡単にインストールできます。Gemfileに以下を追記して、Bundlerでインストールしましょう。Railsとは?MVC,Gem,Bundler,Puma,Rackがわかる!目次へ戻るRuboCopの使い方RuboCopの使い方は、とっても簡単です。rubocopコマンドを実行して、ソースコードがRuboCopの規約(ルール)に沿っているかをチェックするだけです。detectedおそらく、めちゃくちゃ警告が出たことでしょう。このままの状態でRuboCopの警告をスルーするのは、ちょっと難しそうですね。目次へ戻るRuboCopの設定ファイルについて本来であれば、RuboCopで警告された対象コードを確認し、しっかり対応するのがベストです。RuboCopはデフォルトだとコーディング規約が厳しいうえにチェック範囲も広く、ライブラリなど実際に触れないファイルに関しても対象にしてしまいます。普段、あまり触らないコードやファイルは除外したいですよね。そこで、--auto-gen-configオプションを使って、RuboCopのルールをカスタマイズするための「設定ファイル」を作ってみましょう。.rubocop_todo.yml.上のコマンドを実行すると、以下の2つのファイルが作成されます。「.rubocop.yml」...コーディング規約を設定するファイル「.rubocop_todo.yml」...規約を無視するための設定ファイル.rubocop.ymlは、独自のコーディング規約を設定するためのファイルです。現段階では、規約を定義するような記述はありませんが、代わりに以下のような.rubocop_todo.ymlを読み込む記述があります。.rubocop_todo.yml.rubocop_todo.ymlは、現状は対応できない規約を一時的にスルーするための設定が書かれたファイルです。そのため、最終的にはこのファイルの中身を空にすることが望ましいです。現段階では「rubocopコマンドで出た警告をすべてスルーする」というような内容の記述がすでに書かれているはずです。そのため、この状態でrubocopコマンドを実行すると、以下のように警告が1つも出ない状態になります。detected最終的にはこのような状態になるソースコードを目指すよ!目次へ戻るRuboCopの設定ファイルを変更このままRuboCopを使い続けても、警告をすべてスルーする設定になっているため、まったく意味がありません。そこで、もう少し現実的な設定にしてみます。不要なコーディング規約や関係のないファイルを除外し、使いやすいコーディングチェックの設定に変更してみましょう。ここでは.rubocop.ymlを以下のように設定しました。これはあくまで例なので、自分で調べながらカスタマイズしてみてくださいね。.rubocop_todo.ymlの中身はすべて削除し、空にすることを忘れずに。false現実的じゃないコーディング規約は除外することも大切だよ!目次へ戻るRuboCopでファイルを自動修正RuboCopのコーディング規約の設定が終わったら、rubocopコマンドを実行してみてください。警告の数がかなり減ったことに気付くはずです。減ったとはいえ、すべて手作業で修正するのも面倒です。簡単なものはRuboCopに直してもらいましょう。RuboCopには、警告している箇所を自動で修正してくれる機能があり、--auto-correctオプションを使うことで、ある程度は自動で警告を修正してくれます。「ある程度」というのは、RuboCopではどう修正していいのか判断できないところもあり、その場合はスキップされるという意味です。RuboCopが自動修正できた箇所は「Corrected」と表示されます。corrected簡単なリファクタリングでも数が多いと面倒だよね!楽しよう!目次へ戻るRuboCopのリファクタリング手順RuboCopの自動修正が終わったら、もういちどrubocopコマンドを実行してみてください。いくつかの警告がまだ表示されるはずです。detectedこの実行結果を見ると、警告が全部で5カ所でていますが、すべて「コメントの文字数が長すぎる」というものです。これらのコメントが不要であれば、対象ファイルからコメントを削除してしまいましょう。このようにRubCcopを実行、修正するという手順を繰り返し、ソースコードの品質を下げないようにするのが基本です。RuboCopの実行結果が最終的に以下のような状態になれば、ソースコードの品質が保たれていることになります。.rubocop.ymlのようなエラーが出てしまった場合は、以下のような設定をしている可能性があります。Cops」が使えなくなりました。rubocop-railsを追記してください。この記事を上から順に実行してきた人は問題ないと思うよ!目次へ戻るまとめコーディングのルールは、会社やプロジェクトによっても様々でしょう。開発メンバーとも相談し、現実的なラインで使い続けられるルールに設定するといいと思います。RuboCopを使うことで、Rubyでの色々な記述方法を知ることもでき、Rubyを勉強し始めた方にとっても参考になるのでおすすめですよ。WEBCAMP」...教室に通い放題!質問し放題!転職保証まで付いた最強スクール!前の記事Railsにdeviseをサクッと導入!認証機能の使い方も解説...次の記事RailsにBootstrapを導入!デザインを変えるテンプレ...あなたが「なりたい自分」は?エンジニアプログラミングブロガーフリーランスカテゴリーエンジニアプログラミングスクールプログラミングのスキルアッププログラミングの基本エンジニアの転職・就職エンジニアの働き方・将来性エンジニアの仕事道具・ツールRubyWebLinuxMySQLNginxGitDockerブロガーアフィリエイトブログの始め方アフィリエイトブログの書き方アフィリエイトブログの稼ぎ方アフィリエイトブログのアクセスアップフリーランスキツネエンジニア/ブロガー/ミニマリスト。プログラミング経験なし、学歴なしでエンジニアへ転職し、現在は田舎でフリーランス。reserved.テキストのコピーはできません。