17

Ruby 是否有任何类似于 pylint的工具来分析源代码的错误和简单的编码标准?

如果它可以与Cruisecontrolrb集成以进行持续集成,那就太好了。

还是每个人都编写了不需要源代码检查器的好测试!

4

7 回答 7

17

我回顾了一堆可用的 Ruby 工具

http://devver.wordpress.com/2008/10/03/ruby-tools-roundup/

webmat 提到了大多数工具,但是如果您想了解更多信息,我会通过示例进行深入了解。

我还强烈推荐使用 Metric-Fu,它可以让您在 gem/plugin 上安装 3 个更流行的工具,并且在构建时考虑了 Cruisecontrolrb 集成。

创建者有一篇很棒的帖子,应该可以帮助您立即启动并运行。

http://jakescruggs.blogspot.com/2008/04/dead-simple-rails-metrics-with-metricfu.html

Ruby 工具最近有很多活动,我认为这是一种成长和成熟的语言的好兆头。

于 2008-11-13T18:36:56.420 回答
10

检查这些:

  • 在 Ruby Inside 上,一篇介绍 Towelie、Flay 和 Simian 的文章,所有用于查找代码重复的工具
  • reek:Ruby 的代码气味检测器
  • Roodi : 检查你的 Ruby 代码的风格
  • flog : 代码复杂度分析器
  • rcov:会给你一个C0(如果我没记错的话)代码覆盖率分析。但要小心。100% 的覆盖率非常昂贵,并不意味着完美的代码。
  • heckle:以微妙的方式更改您的代码并运行您的测试套件以查看它是否捕获它。残酷:-)

由于它们都是命令行工具,它们都可以简单地集成为 cc.rb 任务。只需拿出你的正则表达式技能来选择输出的重要部分。

我建议您首先手动试用它们,看看它们是否与您的代码库配合得很好,以及您是否喜欢它们给您的信息。一旦你找到了一些能给你带来价值的东西,然后花时间将它们整合到你的 cc 中。

于 2008-11-13T14:26:25.863 回答
5

最近更新的一个看起来很有趣的工具是Ruby Object Oriented Design Inferometer - 简称 roodi。它是 v1.3.0,所以我猜它相当成熟。

我自己没有尝试过,因为我的代码当然已经无可非议(哈哈)。

至于测试覆盖率(哦,亲爱的,我也没有尝试过这个)有rcov

另外(看,我今天肯定会尝试其中的一些。至少一个)您可能会关心查看flog 和 flay以获取另一种样式检查器和重构候选者查找器。

于 2008-11-13T09:10:42.510 回答
2

您还可以快速启用内置警告:

ruby -w

或者在任何时候将全局变量 $VERBOSE 设置为 true。

于 2008-11-22T05:56:01.787 回答
2

ruby 工具箱网站上的代码指标。

于 2013-03-21T16:16:10.287 回答
1

Rubocop是一种广泛使用的静态代码分析器。

于 2014-09-02T22:43:50.657 回答
0

我刚刚发布了优秀的,它实现了对 Ruby 代码的多项检查。它结合了 roodi、reek 和 flog,还添加了一些特定于 Rails 的检查:

gem sources -a http://gems.github.com
sudo gem install simplabs-excellent

可能会有所帮助...

于 2009-05-21T12:16:31.590 回答