写点什么

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:371956
用户头像

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

关注

评论

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

PostgreSQL 如何解决数据迁移过程中的数据类型不匹配问题?

程序员墨松

数据库 postgresql

服务韧性工程(SRE)论坛演讲实录 | 北京移动:云时代的多维协同智慧运维体系建设

雅菲奥朗

运维 SRE

蓝易云 - 哪些电商的服务器更适合托管在蓝易云

百度搜索:蓝易云

数据库 CDN 服务器 云存储 弹性计算

半小时速通Python爬虫!GitHub开源的Python爬虫入门教程

我再BUG界嘎嘎乱杀

Python 爬虫 入门 开发语言 零基础

企业智能之旅(1): 建立智能企业的战略蓝图并付诸行动

亚马逊云科技 (Amazon Web Services)

亚马逊云科技 生成式AI

Python中的7种基础数据类型,看这4500字就够了!

我再BUG界嘎嘎乱杀

Python 后端 基础 数据类型 开发语言

2024年第二届服务韧性工程(SRE)论坛成功举办

雅菲奥朗

人工智能 大数据 运维 SRE 运维开发

蓝易云 - Linux学习之Ubuntu 20中OpenResty的nginx目录里内容和配置文件

百度搜索:蓝易云

nginx ubuntu Web openresty LuaJIT

使用mybatis切片实现数据权限控制

京东科技开发者

一文读懂!10款办公必备的AI合成PPT软件盘点!

彭宏豪95

人工智能 在线白板 办公软件 AIGC AI生成PPT

2024第二届服务韧性工程(SRE)论坛分会场“人工智能驱动运维研发革命”成功举办

雅菲奥朗

人工智能 运维 大模型

2024第二届服务韧性工程(SRE)论坛分会场“SRE助力出海企业构建健壮的IT生态系统”成功举办

雅菲奥朗

人工智能 运维 SRE 混沌工程 运维开发

蓝易云 - 电商如何选择合适且稳定的服务器

百度搜索:蓝易云

云计算 运维 cpu 服务器 云服务器

蓝易云 - CMake调用第三方库的两种方法

百度搜索:蓝易云

云计算 Linux 运维 云服务器 cmake

前后端数据传输约定探讨

京东科技开发者

数字化时代的数据管理:多样化数据库选型指南

京东科技开发者

超全!GitHub星标6500的Python入门教程大全,太强了!

我再BUG界嘎嘎乱杀

Python 后端 入门 开发语言 零基础

企业智能之路(2): 着手进行企业智能的技术准备和实践

亚马逊云科技 (Amazon Web Services)

亚马逊云科技 生成式AI

[外企工程师经验]softwere engineering common issue and best practice

极客罗杰

蓝易云 - Vim如何清空文件

百度搜索:蓝易云

vim 云计算 Linux 运维 服务器租用

Altair携手奇瑞汽车,荣获2024世界人工智能大会“AI赋能新型工业化创新应用优秀案例”

Altair RapidMiner

人工智能 AI 仿真 世界人工智能大会 altair

融云入驻首个数字生态出海基地,加速构建数字经济出海创新生态

融云 RongCloud

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