1

有没有办法禁用reek每个方法、每行或每个块的 gem 警告?

rubocop例如,我们有什么

# suppress warning Use snake_case for method names
def fooBar(baz) # rubocop:disable Naming/MethodName
  baz
end

这个例子将抑制 rubocop 的警告,我正在寻找类似的reek工具。

def foo(bar) # reek:disable TooManyStatements
  baz = bar + bar
  # other line
  # more line
  # that produce reek warning
  baz
end  

在文档中我发现它只能通过配置文件进行配置,但这不是我想要的

4

1 回答 1

3

https://github.com/troessner/reek/blob/master/docs/Smell-Suppression.md#how-to-disable-smell-detection

您始终可以在配置文件中使用基本气味选项。但在本文档中,我们希望专注于一种完全不同的方式——通过特殊评论。

一个简单的例子:

# This method smells of :reek:NestedIterators
def smelly_method(foo)
  foo.each { |bar| bar.each { |baz| baz.qux } }
end

不会报告方法sresty_method。一般的模式是将字符串:reek:,后跟气味类,放在方法或类之前的注释中。

于 2021-01-27T12:20:05.360 回答