0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

rubocopの備忘録①

Posted at

はじめに

業務でrubocopを知ったので備忘録を残しておきます

キーワード

ruby, rubocop, lint

目次

  1. rubocopとは
  2. rubocopの基本
  3. 使ってみる
  4. まとめ
  5. 参考

rubocopとは

読み方は「るぼこっぷ」らしいです。

rubocopとは、rubyのリントのためのgemです。rubyで書いたコードを予め決められたルールに基づいてチェックしてくれて、主な目的はチーム開発における可読性の向上だと思います。

参考

https://blog.solunita.net/posts/relean-rubocop-options/

基本

公式のgetting started的なのです。

https://rubocop.org/

  • オプションなし カレントディレクトリの全てのrubyファイルをチェックしてエラーを表示します
$ rubocop
  • ‘-l’オプション rubyのコマンドラインオプション - W(大文字)と同じ動きをします
$ rubocop -l

# ruby -W 
  • ‘-a’ オプション autocorrectの略で、エラー箇所の自動修正を行います。
$ rubocop -a
  • -xオプション layoutのみに自動修正を行います
$ rubocop -x
# rubocop --fix-layout

他にもオプションはたくさんあります。

一覧はこちらです。

https://docs.rubocop.org/rubocop/1.50/usage/basic_usage.html#command-line-flags

使ってみる

まずrubyの環境が構築されていることは前提です。

私の環境にはなぜか入っていました。

rubyが入っていない方はどこかから落としてみて下さい

https://www.ruby-lang.org/ja/documentation/installation/

rubyの環境が整った方は次のように進めてください

rubocopをインストールします

$ gem install rubocop

テストするコードがないので作ります

# test.rb

print 'hello world'

そして、rubocopと打ってみます

image.png

1行書いただけなのに三つも指摘が。

まず一つ目のエラー

Layout/EndOfLine: Carriage return character missing.

改行コードがCRLF(OS依存。winはこれ)になっているため指摘されています。

https://qiita.com/HiMinmeg/items/10b741608cf217aad68c

二つ目のエラー

Style/FrozenStringLiteralComment: Missing frozen string literal comment.

文字列をイミュータブルにするマジックコマンドが書かれていないぞ、と言っています。

冒頭にマジックコマンドを書くと良い気がします

https://qiita.com/YutoYasunaga/items/98111ef50927ecb4135d

三つ目のエラー

Layout/TrailingEmptyLines: Final newline missing.

最後の行に改行が無いと言っています。

改行して三つ目のエラーを消そうとしたらなぜか一つ目のエラーも一緒に消えました。

マジックコメントを追加したら、#の後ろのスペースだとかマジックコメントの次の行は空行に、とか言われたので rubocop -aを実行したら治りました。すごい。

[correctable]がついているエラーは自動修正が可能なようです。

ぼやき

rubocopを本当に軽く使ってみましたが、1行printするだけでこんなにも警告を出してくれます。丁寧な先輩だと思うことにしています。

次回は.rubocop.yml.rubocop_todo.ymlのカスタマイズとreviewdogとの組み合わせ、みたいなことをしたいと思います。

具体的にはこの記事を参考に書きます。

https://zenn.dev/o_ku/articles/1c5b6f1c9eac9a

ではまた。

参考

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?