Closed pocke closed 1 year ago
すべてというわけではなさそうですが、例えば以下のように概ねのサポートができているようですので、こちらはイシューとしてクローズします。
単一の文字列を表している
Style/RedundantRegexpArgument
cop で実装済みです。
String#=~やRegexp#=~への固執
Performance/RegexpMatch
cop で実装されています。
string =~ /\Afixed pattern\z/
Style/ExactRegexpMatch
cop で実装済みです。
先頭や末尾での一致
Performance/StartWith
cop ならびに Performance/EndWith
cop で実装済みです。
String#splitの乱用
Style/StringChars
cop で実装済みです。
to_sの乱用
Style/RedundantInterpolation
cop で実装されています。
https://moneyforward.com/engineers_blog/2019/02/05/ruby-code-3/
例えば、次のコードあたりはRuboCopで検出しなさそう && 実装できそうです。 シリーズ記事のようなので、他の記事も参考にすると面白そうですね
また、
String#split('')
はString#chars
に置き換え可能であるように以前から思っているのですが、なにか反例があるような気がしていて実装できていません。軽く実装を眺めた感じ実装は違うので、エンコーディング周りとかでなにか挙動が変わるのではという不安があります。 Copを実装するとしたら注意がいりそう。