RuboCop
榜样很重要。
概述
RuboCop 是一个 Ruby 静态代码分析器(又称代码 linter)和代码格式化程序。它开箱即用,将强制执行社区 Ruby 风格指南 中概述的许多指南。
RuboCop 在您通常期望的 linter 功能之上提供了许多功能
-
适用于所有主要的 Ruby 实现
-
自动更正它检测到的许多代码违规
-
强大的代码格式化功能
-
用于交互式使用和将数据馈送到其他工具的多种结果格式化程序
-
能够为代码库的不同部分设置不同的配置
-
能够仅针对特定文件或文件部分禁用某些 cop
-
极其灵活的配置,允许您将 RuboCop 适应几乎所有风格和偏好
-
使用自定义 cop 和格式化程序扩展 RuboCop 很容易
-
大量现成的 扩展(例如
rubocop-rails
、rubocop-rspec
、rubocop-performance
和rubocop-minitest
) -
广泛的编辑器/IDE 支持
-
许多在线服务在内部使用 RuboCop(例如 HoundCI 和 CodeClimate)
-
有史以来最好的徽标/贴纸
该项目与记录和推广 Ruby 社区最佳实践的几项工作密切相关
RuboCop(及其核心扩展)的长期目标是使用 cop 涵盖社区风格指南中的所有指南。
理念
RuboCop 最初的目标是成为一个遵循 Ruby 风格指南(类似于 `gofmt`)的固执己见的代码风格检查器/格式化器。在那个年代,代码风格检查器只支持一种风格,你甚至无法关闭单个检查器。最终,我们意识到,在 Ruby 社区中,存在着许多相互竞争的风格和偏好,要找到一套让每个人都满意的默认设置将非常具有挑战性。这部分是由于 Ruby 本身的文化和理念,部分是由于近 20 年来缺乏共同标准。很难改变这些,但实际上也没有必要。
我们收到的早期反馈促使我们采用了一种(极端)可配置性和灵活性的理念,并试图涵盖 Ruby 中所有常见的编程风格。虽然我们仍然相信坚持社区风格指南有很多好处,但我们也承认 Ruby 的精髓在于多样性,以及以你喜欢的方式做事。无论你有什么风格偏好,RuboCop 都能满足你的需求。这是我们的承诺和保证。当然,这要是在理智的范围内。