2008-11-13 132 views

回答

16

我回顾了一堆的Ruby工具,可以在这里找到

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

大部分工具都是由webmat提到的,但如果你想了解更多信息,我走得相当的深度的例子。

我还强烈建议使用Metric-Fu,它会为您提供3种更常用工具的gem/plugin安装,并且考虑到cruisecontrolrb集成。

创建者有一个很棒的帖子,可以帮助你快速启动和运行。

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

目前已在Ruby的工具,大量的活动最近我认为这是一个成长和成熟语言的一个好兆头。

+0

我也会仔细看看webmat建议的reek - http://silkandspinach.net/2008/09/23/reek-a-code-smells-detector-for-ruby/。你会考虑将它包含在你的答案中吗? – 2008-11-17 16:39:51

5

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

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

至于测试覆盖(哦,亲爱的,我还没有试过这一个要么)有rcov

而且(看,我肯定会去尝试一些今天,一个至少),你可能关心请查看flog and flay以了解其他样式检查器和重构候选者查找器。

+0

不要忘记嘲笑你的测试!这个答案中的资源将真正推动你的项目成型......特别是在本周末发布Flay的时候;让人印象深刻 – mwilliams 2008-11-13 12:37:38

10

检查这些了:

  • 关于Ruby里面,an article presenting Towelie, Flay and Simian,所有的工具来寻找代码重复
  • reek:为Ruby
  • 代码气味探测器
  • Roodi:检查你的Ruby代码风格
  • flog:代码的复杂性分析
  • rcov:会给你一个C0(如果我没有记错)代码覆盖分析。但要小心。 100%覆盖非常昂贵,并不意味着完美的代码。
  • heckle:以微妙的方式更改您的代码并运行测试套件以查看它是否捕获到它。残酷:-)

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

我建议你先试试看看它们是否与你的代码库配合良好,如果你喜欢它们给你的信息。一旦你找到一些能够给你带来价值的东西,那么花时间把它们整合到你的cc中。

+0

伟大的答案谢谢你,瑞克看起来很有趣,对不起,我选择了其他答案,他引用的博客文章非常全面。 – 2008-11-17 16:41:58

2

还有内置的警告,你可以快速的实现:

ruby -w 

或者在任何点详细设置全局变量$为true。

0

我刚刚发布了它对Ruby代码实现了几个检查的Excellent。它结合了roodi,臭气和鞭打,也增加了一些Rails相关检查:

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

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