我正在玩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
。