Ruby源代码分析器(类似于pylint)

时间:2008-11-13 08:53:21

标签: ruby code-analysis static-analysis

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

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

或者每个人都写了这么好的测试,他们不需要源代码检查器!

7 个答案:

答案 0 :(得分:17)

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

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

大多数工具都是由webmat提到的,但如果你想了解更多信息,我会深入了解一些例子。

我也强烈推荐使用Metric-Fu,它为您提供了3个更受欢迎的工具的宝石/插件安装,并且考虑到了cruisecontrolrb集成。

创作者有一个很棒的帖子,可以帮助您立刻开始运行。

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

最近Ruby工具中有很多活动,我认为这是一种日益成熟的语言的良好标志。

答案 1 :(得分:10)

检查这些:

  • on Ruby Inside,an article presenting Towelie, Flay and Simian,所有查找代码重复的工具
  • reek:Ruby的代码异味检测器
  • Roodi:检查Ruby代码的样式
  • flog:代码复杂性分析器
  • rcov:会给你一个C0(如果我没记错的话)代码覆盖率分析。但要小心。 100%的覆盖率非常昂贵,并不代表完美的代码。
  • heckle:以微妙的方式更改代码并运行测试套件以查看它是否捕获了它。野蛮人: - )

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

我建议您先手动试用它们,看看它们是否与您的代码库配合得很好,如果您喜欢它们给您的信息。一旦找到一些能给你带来价值的东西,就把时间花在你的cc上。

答案 2 :(得分:5)

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

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

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

另外(看,我今天肯定要尝试其中的一些。至少一个)你可能会关注另一个样式检查器和一个重构候选者查找器{/ 3}}。

答案 3 :(得分:2)

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

ruby -w

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

答案 4 :(得分:2)

Code metrics在ruby工具箱网站上。

答案 5 :(得分:1)

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

答案 6 :(得分:0)

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

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

可能会有帮助......