禁用内联或按方法臭味代码气味检测器

zhi*_*sme 2 ruby ruby-on-rails reek

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

rubocop例如我们有什么

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

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

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

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

小智 5

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
Run Code Online (Sandbox Code Playgroud)

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