BT

如何利用碎片时间提升技术认知与能力? 点击获取答案

Ruby静态分析工具检视:metric_fu, Simian, Saikuro以及其他

| 作者 Sebastien Auvray 关注 0 他的粉丝 ,译者 郑柯 关注 3 他的粉丝 发布于 2009年9月17日. 估计阅读时间: 2 分钟 | Google、Facebook、Pinterest、阿里、腾讯 等顶尖技术团队的上百个可供参考的架构实例!

代码质量构成了软件质量的一部分。像Java和C++之类主流语言的工具已经比较成熟了,而Ruby相关工具还在成长。随着Ruby从早期采纳者向早期大众普及,人们对这些工具的需求越来越多,而且SLOC(源代码行数)在不断增长。人们使用自动化工具检测多种问题,比如风格不一致、方法过程和代码重复。

Steve Hayes在芝加哥举办的Agile2009大会上做了一个名为“Java和Ruby的代码质量”的演讲。InfoQ也借此机会审视了Ruby世界中可为人所用的工具。

  • Roodi(Ruby面向对象设计Inferometer)——该工具会解析你的Ruby代码,并根据你配置好的列表,对设计方面的问题提出警告,比如:类代码行数检查、for循环检查、参数个数检查、圈复杂度检查,还有其他10个检查选项。
  • Reek——类似Roodi。
  • Saikuro ——设计目的是要检查圈复杂度
  • Flog ——由Ryan Davis开发,它会给你的代码计算一个得分:得分越高,你的代码越差。计算得分时考虑了ABC度量指标(赋值、分支和调用)。
  • Simian——类似的分析器,可以用来识别代码重复(要想商用,就得付出99美元)。
  • Flay ——这是Ryan Davis开发的另一个免费工具,能够找到代码中在结构上的相似性。

要想使用所有这些工具,你很快就会觉得痛苦,这时metric_fu就成了救星。它包括了上述所有工具(Simian除外),而且能够方便地生成关于你的应用的报告。很容易就能把它和Rails集成在一起,而且花些时间就能生成图表。

 
来自Jakes Scruggs的图表。

您可以根据Assaf Arkin的指导来为Rails项目设置Hudson,同时带有metric_fu支持

查看英文原文:Ruby Static Analysis Tools Roundup: metric_fu, Simian, Saikuro and More

评价本文

专业度
风格

您好,朋友!

您需要 注册一个InfoQ账号 或者 才能进行评论。在您完成注册后还需要进行一些设置。

获得来自InfoQ的更多体验。

告诉我们您的想法

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我
社区评论

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

讨论

登陆InfoQ,与你最关心的话题互动。


找回密码....

Follow

关注你最喜爱的话题和作者

快速浏览网站内你所感兴趣话题的精选内容。

Like

内容自由定制

选择想要阅读的主题和喜爱的作者定制自己的新闻源。

Notifications

获取更新

设置通知机制以获取内容更新对您而言是否重要

BT