RuboCop - 为我的整个 Rails 项目禁用 Style/AndOr?



我正在玩Rubocop,我使用了一些约定,我更喜欢标准的Rubocop遵循。请考虑以下事项:

if some_variable and another
  do_this
end

Rubocop抱怨我应该在这里使用&&而不是and。我检查了文档,Style/AndOr的默认设置是 always .但是,它确实具有允许我执行此操作的设置(conditionals(:

model.save! and return

。但我宁愿为我的 Rails 项目完全关闭这个标准。Rubocop 确实让我像这样按实例执行此操作:

# rubocop:disable Style/AndOr
if check_this and check_that
  # rubocop:enable Style/AndOr
  do_something
end

。但这似乎真的很乏味,所以如果我能完全禁用Style/AndOr,我更喜欢它。这可能吗,如果是,我将如何去做?

创建一个名为 .rubocop.yml 的点文件(注意点(:

Style/AndOr:
  Enabled: false

在此处查看更多信息:
https://github.com/rubocop-hq/rubocop/blob/master/manual/configuration.md

使用上面@Casper公认的答案,您可以禁用您想要的任何 Rubocop 样式指南,但我也会提出横向思维选项,即使用 Rubocop 逐渐过渡现有代码中的样式。请注意,&&/|| 是默认值的原因是因为它们的优先级高于 = ,这使得大多数代码更直观;从某种意义上说,您可能会认为这是一种代码异味,促使您的样式指南发生变化。

如果你对迁移样式感兴趣,请考虑将CI设置为仅lint touch触摸的文件;这样,你可以避免整个代码库lint的头痛,只对你接触过的文件进行操作。然后,您可以使用Rubocop的自动更正功能快速修复大多数问题:bundle exec rake rubocop -a

最新更新