【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はチェックされなくなる。その他の項目も設定値を変更したり、無効にしたりできる。
ほとんど自動修正されてしまうが、修正された箇所がわかるので、コーディング規約も自然と覚えていけそうな気がする。