写点什么

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

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

关注

评论

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

28天

ES_her0

28天写作 3月日更

【LeetCode】逆波兰表达式求值Java题解

Albert

算法 LeetCode 28天写作 3月日更

我在阿里实习做开源

apache/dubbo-go

微服务 程序人生 云原生 dubbo dubbogo

国内可用镜像站整理

弘毅

寻找被遗忘的勇气(二十)

Changing Lin

3月日更

《Redis 核心技术与实战》学习笔记 04

escray

redis 学习 28天写作 3月日更 Redis 核心技术与实战

有利可图的NFT,NA公链(Nirvana Chain)NAC公链怎么面对高额Gas费的?

区块链第一资讯

区块链 公链 挖矿

老板要我开发一个简单的工作流引擎

Java小咖秀

架构 工作流 开发 工作流调度 工作流引擎

MySQL如何选择主键

架构精进之路

MySQL 3月日更

C++线程池ThreadPoolExecutor实现原理

Linux服务器开发

c++ 后端 线程池 Linux服务器开发 Linux后台开发

蚂蚁二面:MQ消费端遇到瓶颈除了横向扩容外还有其他解决办法?

中间件兴趣圈

面试 RocketMQ 消息中间件

Wireshark数据包分析学习笔记Day16

穿过生命散发芬芳

Wireshark 数据包分析 3月日更

Python 随机字符串

HoneyMoose

打通Jira与钉钉和企业微信不再难

跟YY哥学Jira

钉钉 Jira 企业微信 automation

思考需要大声,写下便是永恒——未完待续

Justin

总结 28天写作

翻译:《实用的Python编程》07_01_Variable_arguments

codists

Python

2021年Java春招高级面试指南(1到5年Java面试者必备)

比伯

Java 编程 架构 面试 程序人生

Python 分通道读取图像数据,取经之路第 4 天

梦想橡皮擦

28天写作 3月日更

永动金融EGG公链去中心化社交平台与通证EFTalk全球正式亮相

币圈那点事

区块链

2020年张小龙非公开课的一点思考

lenka

3月日更

基于SpringCloud,支持安卓、IOS、包含前后端等等完整网约车项目

Java架构追梦

Java 架构 面试 SpringCloud 网约车项目

这份1307页Android面试全套真题解析,源码+原理+手写框架

欢喜学安卓

android 程序员 面试 移动开发

我们为什么需要云原生?

脑极体

翻译:《实用的Python编程》07_00_Overview

codists

Python

Python 随机数函数 choices

HoneyMoose

多队列网卡简介

依旧廖凯

28天写作 3月日更

最近的一点思考「Day 28」

道伟

28天写作

TCP 三次握手与四次挥手

insight

TCP 3月日更

Go语言学习笔记:数组

worry

数组 Go 语言

这些面试题你会吗?6年菜鸟开发面试字节跳动安卓研发岗,复习指南

欢喜学安卓

android 程序员 面试 移动开发

十步输出设计文档

鲁米

设计实践

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