LoginSignup
0
0

Rubyで開発していた際にRuboCopで怒られた内容を纏める

Last updated at Posted at 2024-02-25

はじめに

rubyの静的解析ツールで有名なRuboCopとvscodeに以下の拡張機能を導入し、
rubyのコードを書いているときに出現したメッセージと必要な対応についてまとめます。
ruby-rubocop-revived

想定読者

RuboCopで発生したメッセージ内容と対処法を探している方

メッセージ一覧

Missing frozen string literal comment.(Style/FrozenStringLiteralComment)

文字列リテラルを最初からfreezeした状態で生成してくれる、以下のマジックコメントが記載されてないときに出現します。

文字列リテラルを非破壊的にするメリットはそんなにあるのか?
については以下の記事が詳しく説明されておりました。
https://qiita.com/universato/items/1dd8943df07f2445655e

Do not prefix reader method names with get_(Naming/AccessorMethodName)

アクセサーで使用されるprefixのため関数名でget_やset_を使用するのは非推奨のようです。

Use xxxxx.positive? instead of xxxxx > 0.(Style/NumericPredicate)

1以上、0未満などの表現は大小比較ではなく、negative?やpositive?メソッドを使うのが好まれるようです。

Use Kernel#loop for infinite loops.(Style/InfiniteLoop)

他の言語ではよく使われる無限ループの書き方while trueよりもloop doの使用が推奨されます。
どちらも無限ループとして実行は可能ですが、
whileの場合はループ内で宣言された変数がループ外でも使い続けることができるという違いが在るため、そういった面でも非推奨のようです。

終わりに

rubocop使用時に同様のメッセージが出てきて、調べている人の一助になれば幸いです。
今後も新たなメッセージが出たら追加していこうと思います。

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