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 时,此参数将设置为检查代码中找到的最高值。

命名

命名警察检查代码的命名问题,例如方法名、常量名、文件名等。

安全

安全警察检查已知与潜在安全问题相关的函数调用和结构。

Bundler

Bundler 警察检查 Bundler 文件(例如 Gemfile)中的风格和不良做法。

Gemspec

Gemspec 警察检查 gemspec 文件(例如 rubocop.gemspec)中的风格和不良做法。

可用警察

在以下部分,您将找到所有可用的警察

部门 布局

部门 Lint

部门 风格