Ruby/Rubyの基礎知識

Rubocop を使った静的解析で Ruby コーディング規約をチェックする

Ruby の静的コード解析ツールである Rubocop を用いて、書いたコードがあらかじめ定義したコーディング規約に従っているかをチェックします。

橋本 拓也

執筆者:橋本 拓也

Rubyガイド

Ruby の魅力の 1 つは表現の自由度であり、同じ処理を実現するコードをいろいろな方法で書くことができます。しかし裏を返すと、チームで規模の大きな開発をする場合などは個々人の好みがコードに色濃く出てしまい、メンテナンス性や可読性が落ちてしまうという問題も引き起こします。

解決策のひとつは「コーディング規約を作成し、それに従ってプログラムを書く」というものですが、いくらきっちり規約を決めても人間の作業にはミスや抜けが発生しますし、規約を意識しながらコードを修正するのも注意力の無駄です。

このようなケースで、今回紹介する Rubocop が役に立ちます。Rubocop は静的コード解析ツールで、Ruby コードがあらかじめ定義したコーディング規約に従っているかどうかをチェックしてくれます。

Rubocop のインストールと実行

それでは実際にインストールしてみましょう。Gemfile に rubocop gem を記述して bundle install を実行します。

すると 'rubocop' コマンドが使えるようになるので、適当なファイルを作成して、

これをテストしてみます。

実行する面では問題なく動きますが、rubocop コマンドをかけてみると 2 件警告が出ています。詳しく見てみると、1 件目は

Prefer {...} over do...end for single-line blocks. とあるように「1 行のブロックは do...end じゃなくて{...}で書いたほうが良いよ」という警告のようです。また、2 件目は

Space around operator ** detected. と出ていることから、** 演算子の前後にはスペースを開けないというコーディング規約に則った警告のようです。これら 2 件の警告に従ってコードを修正してみます。

再度実行してみると、no offenses detected となり無事コーディング規約を満たしていることが確認できます。

Rubocop の役割と基本的な使い方は以上のとおりです。次のページでは、コーディング規約をチームの方針に従ってカスタマイズする方法を紹介します。

  • 1
  • 2
  • 3
  • 次のページへ

あわせて読みたい

あなたにオススメ

    表示について

    カテゴリー一覧

    All Aboutサービス・メディア

    All About公式SNS
    日々の生活や仕事を楽しむための情報を毎日お届けします。
    公式SNS一覧
    © All About, Inc. All rights reserved. 掲載の記事・写真・イラストなど、すべてのコンテンツの無断複写・転載・公衆送信等を禁じます