元ひよっこSEがフルスタックエンジニアを目指すブログ

大学院(情報系)修了後、新卒で大手SIer入社。のちに事業会社(WEB系)に転職。SIerから事業会社に転職してからの日常と学んだこととかを書いていこうかと思う。

【Ruby】【Rubocop】Rubocopでコーディング規約をチェックする

 個人でコーディングしている時は特に意識することがなかったのだが、転職してコードを書く機会が増えてからはコーディング規約に気をくばる必要が出てきた。かといってまだコーディング規約を覚えられていないので、それを気にして書くのは疲れる。ということで、「rubocop」を使ってみる。

■インストール
まずは、インストールする

gem install rubocop

■コードチェック

テスト用に下記のプログラムを用意する。

# robocop.rb
#コメント
puts 'Rubocop使ってみた'

下記コマンドでコードをチェックできる。

$rubocop rubcop.rb

Inspecting 1 file
C

Offenses:

rubcop.rb:2:1: C: Layout/LeadingCommentSpace: Missing space after #.
#コメント
^^^^^
rubcop.rb:2:2: C: Style/AsciiComments: Use only ascii symbols in comments.
#コメント
 ^^^^

自動修正できるものは下記コマンドのようにオプションをつけることで自動修正される。

$ rubocop --auto-correct rubcop.rb
Inspecting 1 file
C

Offenses:

rubcop.rb:2:1: C: [Corrected] Layout/LeadingCommentSpace: Missing space after #.
#コメント
^^^^^
rubcop.rb:2:3: C: Style/AsciiComments: Use only ascii symbols in comments.
# コメント
  ^^^^

1 file inspected, 2 offenses detected, 1 offense corrected

「Style/AsciiComments」は英語でコメントが記載されているかどうかをチェックした結果だが、さすがに日本語でもコメントを書きたいって時には「.rubocop.yml」に下記を記載し、プロジェクトのルートディレクトリに配置する。

Style/AsciiComments:
  Enabled: false

これでStyle/AsciiCommentsはチェックされなくなる。その他の項目も設定値を変更したり、無効にしたりできる。

 ほとんど自動修正されてしまうが、修正された箇所がわかるので、コーディング規約も自然と覚えていけそうな気がする。