Cops
在 RuboCop 行话中,对代码执行的各种检查被称为“警察”。每个警察负责检测一种特定的违规行为。有几个警察部门,根据违规行为的类别对警察进行分组。下面简要介绍了不同部门的情况。
许多风格和布局警察都有配置选项,允许他们执行不同的编码约定。
您还可以加载 自定义警察。
与警察相关的错误默认情况下会被静默,但可以使用 --raise-cop-errors
选项打开。
风格
风格警察检查代码的风格一致性。其中许多是基于 Ruby 风格指南。
Lint
Lint 警察检查代码中的歧义和可能的错误。
RuboCop 以可移植的方式实现了所有内置的 MRI lint 检查(ruby -wc
),并添加了许多额外的 lint 检查。
您可以像这样只运行 Lint 警察
$ rubocop -l
-l
/--lint
选项可以与 --only
一起使用,以运行所有启用的 Lint 警察以及其他警察的选择。
禁用 Lint 警察通常是一个坏主意。
指标
指标警察处理可以测量的源代码属性,例如类长度、方法长度等。一般来说,它们有一个名为 Max
的配置参数,当运行 rubocop --auto-gen-config
时,此参数将设置为检查代码中找到的最高值。