Caliper 为 Ruby 项目提供了制式标准评价,其使用可以说是再简单不过了:仅仅是将Caliper 指向你的Git 库,等几分钟吧,然后看看你的代码合不合符制式标准。
Caliper 是免费的服务,由 Devver 提供,这个公司以其测试加速程序(参考 InfoQ 上的 Faster Ruby Test Execution With Devver )而闻名。各类的标准的计算是由 metric_fu 完成的,它一次使用类似于 Roodi (对设计问题发出警告)和 Saikuro (一个循环复杂度分析器)。Caliper 将这些数据聚集起来,分析之后提供一个很完整漂亮的概述。例如,看看 Sinatra 的分析报告。
Devver 的 Benjamin Brinckerhoff 告诉我们,他们准备加入更多的标准测试:
我们还不完全肯定我们将会加入哪些测试。这主要看我们从用户得到的反馈。现在有一些想法:
- Towelie ,和 Flay 很类似,用来度量代码冗余。
- rcov ,已经包含在 metric_fu,但是 Caliper 现在还不支持。
- Railroad ,类范图生成器。
- TODO 探测器,查看哪些文件的 TODO 最多(或者其他的程序员做的标记)。具体的字符串可以自定义,我们希望能够自己编写这个程序(这个应该是相当容易)。
当我们添加这些工具的时候,我们也计划将其加入 metric_fu 中(如果 metric_fu 团队允许这么做的话,那就太好了!)。同时,我们也正在努力地是现有的 metric_fu 数据更加易于理解和使用。
仅仅计算是否符合标准是不够的,代码还应该能够在以后被重构。 Devver 的博客上展示了 Caliper 的标准是如何用来改善其代码库。Caliper 也能够和其他的服务通过提交确认回调(Post-commit Hooks)的方式集成在一起,例如 GitHub 和 rdoc.info 。
这个服务对于开源项目来说是免费的,如果在私人项目中使用则需要支付相应的费用。
查看英文原文: Metrics for Ruby With Caliper
评论