Ruby源代码分析器(类似于pylint)
Ruby是否有任何沿着pylint的工具来分析错误和简单编码标准的源代码?
如果它可以与cruisecontrolrb集成以实现持续集成,那就太好了。
或者每个人都写了这么好的测试,他们不需要源代码检查器!
我回顾了一些可用的Ruby工具
http://devver.wordpress.com/2008/10/03/ruby-tools-roundup/
webmat提到了大多数工具,但如果你想了解更多信息,我会深入了解一些例子。
我也强烈推荐使用Metric-Fu,它为您提供了3种更受欢迎的工具的gem/插件安装,并且考虑到了cruisecontrolrb集成。
创建者有一个很棒的post,可以帮助您立即启动和运行。
http://jakescruggs.blogspot.com/2008/04/dead-simple-rails-metrics-with-metricfu.html
最近Ruby工具中有很多活动,我认为这是一种成长和成熟语言的好兆头。
看看这些:
- 在Ruby Inside上, 这篇文章介绍了Towelie,Flay和Simian ,它们都是查找代码重复的工具
- 毛巾先生
- 去皮
- Simian (一种支持Ruby和其他语言的更通用的工具)
- reek :Ruby的代码味道检测器
- Roodi :检查Ruby代码的样式
- flog :代码复杂度分析器
- rcov :会给你一个C0 (如果我没记错)代码覆盖率分析。 但要小心。 100%的覆盖率非常昂贵,并不意味着完美的代码。
- heckle :以微妙的方式更改代码并运行测试套件以查看它是否能够捕获它。 野蛮的:-)
由于它们都是命令行工具,因此它们都可以简单地集成为cc.rb任务。 只需提取你的正则表达式技巧来选择输出的重要部分。
我建议你先手动试用它们,看看它们是否与你的代码库配合得很好,如果你喜欢它们给你的信息。 一旦找到一些能给你带来价值的东西,那么就花时间将它们整合到你的cc中。
最近更新的一个有趣的工具是Ruby Object Oriented Design Inferometer – 简称roodi。 它是在v1.3.0,所以我猜它已经相当成熟了。
我自己没有尝试过,因为我的代码当然已经无可非议了(哈)。
至于测试覆盖范围(哦,亲爱的,我也没有试过这个)有rcov
另外(看,我今天肯定会尝试其中的一些。至少一个)你可能会关注另一个风格检查器和重构候选者查找器的flog和flay 。
您还可以通过快速启用内置警告:
ruby -w
或者在任何时候将全局变量$ VERBOSE设置为true。
ruby工具箱网站上的代码指标 。
Rubocop是一种广泛使用的静态代码分析器。
我刚刚发布了Excellent,它实现了对Ruby代码的几个检查。 它结合了roodi,reek和flog,还添加了一些Rails特定的检查:
gem sources -a http://gems.github.com sudo gem install simplabs-excellent
可能会有所帮助……