在将 Ruby 2.7 与 Rubocop 结合使用时,如何发出关于 Ruby 3 已弃用代码的警告?

问题描述 投票:0回答:1

我正在与许多贡献者一起开发一个巨大的存储库,并且每天都会发生许多代码更改。我的任务是将当前的 Ruby 2.7.4 更新到 Ruby 3+,作为第一步,我决定最好向已经实现的 Rubocop linter 添加一些规则,以检查 Ruby 3 上是否有已弃用的代码,以便人们停止添加已弃用的新代码(或者更确切地说,一旦我升级到 Ruby 3,这些代码就会被弃用)。

Rubocop 是否提供任何警察可以帮助我完成这项任务?或者有人能指出我正确的方向吗?

ruby-on-rails ruby rubocop
1个回答
0
投票

Rubocop 有一些 lint 来检测已弃用的 Ruby 功能。例如,Lint/DeprecatedClassMethods。对于大多数情况,Rubocop 并不关心您使用的 Ruby 版本。

要查找更多问题,请将您的

TargetRubyVersion
设置为 3.0(或任何您的目标)。

AllCops:
  TargetRubyVersion: 3.0

某些可能对您有用的警察默认情况下未启用,因为它们不是 100% 安全。您可能希望启用它们。

将此添加到您的自动代码审查检查中。


您可以添加自己的自定义警察来检测更多3.0已弃用的功能。阅读寻找弃用的现有警察的代码会有所帮助。

我不知道有专门用于 Ruby 升级警察的 rubocop 扩展。您甚至可以将其捆绑到

rubocop-deprecations

© www.soinside.com 2019 - 2024. All rights reserved.