はじめに
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使用時に同様のメッセージが出てきて、調べている人の一助になれば幸いです。
今後も新たなメッセージが出たら追加していこうと思います。