DeepSource的Ruby分析器现在已经进入GA

80 阅读2分钟

今天,我们很高兴地宣布,DeepSource Ruby分析器已经脱离了测试阶段。除了稳定性提高之外,该分析器现在可以检测到260多个问题,而在测试版发布时,该分析器可以检测到大约170个问题。

最重要的是,你可以使用DeepSource使用Autofix自动修复70多个不同的问题,或者使用Transformers改造你的整个代码库。

使用Ruby分析器

要开始分析你的Ruby代码,只需在你的.deepsource.toml 文件中启用ruby 分析器,你就可以开始了。

配置样本

version = 1

test_patterns = [
  "test/**",
  "*_test.rb"
]

exclude_patterns = [
  "vendor/**",
  "**/examples/**"
]

[[analyzers]]
name = "ruby"
enabled = true

使用Autofix修复你的代码

超过70个问题可以使用DeepSource Ruby Autofix进行自动修复。在Issues 标签中寻找 Autofix 徽章。

使用变形器改造你的代码

您还可以使用可用的Ruby Transformers来自动转换您的代码库。我们目前支持StandardRBRuboCop

使用Ruby分析器和变形器的配置样本

version = 1

test_patterns = [
  "test/**",
  "*_test.rb"
]

exclude_patterns = [
  "vendor/**",
  "**/examples/**"
]

[[analyzers]]
name = "ruby"
enabled = true

[[transformers]]
name = "standardrb"
enabled = true

由Ruby分析器检测的问题

我们目前支持你的Ruby代码中的260多个问题,包括Bug风险、反模式、安全漏洞和风格问题等类别。下面是其中的一些,给你一个概念。

错误风险

  • 魔法注释的错误排序
  • while/until 块中检测到的begin
  • 百分之百的字符串字面结构无效

安全问题

  • 检测到eval 的使用
  • 检测到不安全的JSON方法
  • 检测到使用不安全的YAML方法

反模式

  • 使用each_with_object ,而不是inject/reduce
  • 检测到BignumFixnum
  • if/ 检测到没有主体的elsif/unless 分支

我们对这个版本感到非常兴奋,并希望这将帮助你避免代码中的许多问题,并使编写Ruby更加有趣请到文档中去看看,或者告诉我们你的想法