写点什么

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

  • 2009-09-16
  • 本文字数:686 字

    阅读完需:约 2 分钟

代码质量构成了软件质量的一部分。像 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

2009-09-16 09:372454
用户头像

发布了 479 篇内容, 共 182.8 次阅读, 收获喜欢 53 次。

关注

评论

发布
暂无评论
发现更多内容

模块二作业

Geek_1d37ea

架构实战营

Android岗常见40道面试题,面试前必须了解的知识点!,android开发工程师企业所在区域

android 程序员 移动开发

Android全面解析之Handler机制:常见问题汇总,kotlin静态类

android 程序员 移动开发

Android基础进阶 - 消息机制 之Native层分析,统统给你解决

android 程序员 移动开发

学习总结(第二周)

Geek_1d37ea

架构实战营

Android大牛近期大厂面试详解(附解答),hashmap底层原理

android 程序员 移动开发

Android基础系列(3)编译时注解处理器APT,android订餐系统源码

android 程序员 移动开发

Android在开发初期之后应该何如学习?怎样才算精通?方向在哪儿

android 程序员 移动开发

Android学习别“走弯路”,django实战项目源码

android 程序员 移动开发

Android小白在两年时间成为一个大牛,我究竟做了什么?

android 程序员 移动开发

Android屏幕适配前先了解这些,在阿里工作5年了

android 程序员 移动开发

Android干货---丢掉你老旧的参数传递方式,投入Bracer的怀抱吧。

android 程序员 移动开发

Android四大组件之一(broadcast receiver),全网首发

android 程序员 移动开发

Android关于Canvas你所知道的和不知道的一切,银行软件开发面试题

android 程序员 移动开发

Android动画之属性动画,移动智能终端开发技术题库

android 程序员 移动开发

Android复习资料——常见面试算法题汇总,2021年最新Android大厂面试笔试题分享

android 程序员 移动开发

Android入门项目(八)Android流式筛选弹框,android应用程序开发的流程

android 程序员 移动开发

Android启动优化、布局优化必经之路—如何精准获取页面绘制时间

android 程序员 移动开发

Android原生系统真的那么好用吗?安卓原生系统吊打其他系统,因为有Google-Play

android 程序员 移动开发

Android刘海屏、水滴屏全面屏适配详解,996页阿里Android面试真题解析火爆全网

android 程序员 移动开发

Android四大组件之一(broadcast receiver)(1),kotlin版权

android 程序员 移动开发

Android基础之Binder分析,flutter环境变量配置

android 程序员 移动开发

Android学习趋势:讲一下音视频热点知识,移动设备开发图书

android 程序员 移动开发

Android布局优化:include-、merge,android开发入门与实战作者

android 程序员 移动开发

Android应用保活实践,字节跳动Android研发岗这些知识点内部泄露出来了

android 程序员 移动开发

Android刘海屏、水滴屏全面屏适配方案,80后程序员感慨中年危机

android 程序员 移动开发

Android应用Context详解及源码解析,Android大厂技术面试题汇总

android 程序员 移动开发

Android大牛是如何炼成的:郭霖的成长之路专访,flutter游戏引擎

android 程序员 移动开发

Android妹子深夜和我视频,哭的像个泪人,我该怎么安慰

android 程序员 移动开发

Android布局优化技巧大盘点,最新BAT大厂面试者整理的Android面试题目

android 程序员 移动开发

Android企业级实战-界面篇-3,oppo android面试

android 程序员 移动开发

Ruby静态分析工具检视:metric_fu, Simian, Saikuro以及其他_研发效能_Sebastien Auvray_InfoQ精选文章