rubocop - 是否可以在 Rubocop 中仅为新类别启用规则

标签 rubocop

我想在 Rubocop 上启用 ClassLength 规则,但仅限于新类,这样我们就不会开始收到所有旧代码的警报。可以吗?

最佳答案

您可以ignore your legacy files.rubocop.yml 中,可以是一个长列表,也可以是几个 glob(如果您可以将它们隔离到目录中)。

Metrics/ClassLength:
  Exclude:
    - 'one/file'
    - 'another/file'
    - 'some/dir/*'

如果只有几个非常严重的违规者,但其余的都超过了默认值(100 行),您可以 pick a higher threshold .

Metrics/ClassLength:
  max: 200

您还可以添加annotations to disable cops在您想要忽略的每个文件中 Metrics/ClassLength:

# rubocop:disable Metrics/ClassLength
class SuperLongScaryThing
  # ...
end
# rubocop:enable Metrics/ClassLength

当然,您始终可以进行一些重构!

关于rubocop - 是否可以在 Rubocop 中仅为新类别启用规则,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33000487/

相关文章:

ruby-on-rails - Rubocop Metrics/CyclomaticComplexity 以防万一

ruby-on-rails - 替换 URI.escape 以避免 Lint/UriEscapeUnescape 警告?

ruby - 允许返回的 block 使用大括号

ruby - 如何告诉 Rubocop 只查看特定目录?

ruby - 如何让 RuboCop 检查以点开头的文件夹中的文件

activeadmin - 能否仅在某些路径上禁用 rubocop 检查?

ruby-on-rails - 使用 rubocop 在 Emacs Flycheck 模式下出错

ruby - Rubocop:是否可以向 Metrics/AbcSize cop 添加排除项?

ruby-on-rails - Rubocop Lint /空 : Literal used in void context

ruby - RuboCop 在使用 'Hash.new' 时提示