写点什么

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

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

关注

评论

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

冰河教你一次性成功安装K8S集群(基于一主两从模式)

冰河

Docker 云原生 k8s

关于Mysql常用数据类型的小抄

xzy

MySQL

深入浅出 Go - sync.Pool 源码分析

helbing

Go 语言

《穿越数据的迷宫》笔记:第1章 数据管理的重要性

方志

数据治理

为什么边缘计算将终止云计算?

VoltDB

数据库 云计算 数据分析 边缘计算

AnyRTC --- Flutter 实现视频通话

anyRTC开发者

flutter 音视频 WebRTC 跨平台 sdk

《视觉系统中的深度学习》PDF及源代码免费下载

计算机与AI

学习 计算机视觉

爆买剁手之后,我们的快乐为什么越来越贬值?

脑极体

GO训练营第2周总结

Glowry

数字货币将带来怎样的“革命”

CECBC

数字货币 货币

浅谈互斥锁与进程间的通信(举例说明)

ShenDu_Linux

Linux 程序员 架构师 进程线程区别

Accept-Language是什么? 就在身边,你却没看见的“冷知识”系列(不定期偶遇)

八苦-瞿昙

随笔杂谈 HTTP

创业项目快速分析框架

boshi

创业 商业

架构第十一周作业

Nick~毓

《华为数据之道》读书笔记:第 10 章 未来已来:数据成为企业核心竞争力

方志

数字化转型 数据治理

Spring 源码学习 04:初始化容器与 DefaultListableBeanFactory

程序员小航

spring 源码 源码阅读

EXCEL、图片处理常用技巧

jiangling500

Excel 图片处理

Serverless 应用引擎的远程调试和云端联调

阿里巴巴云原生

Java Serverless 云原生 后端

甲方日常 61

句子

工作 随笔杂谈 日常

线程池 ForkJoinPool 简介

Java老k

Java 线程池 forkjoinpool 工作窃取

算力 | 手写红黑树

九叔(高翔龙)

数据结构 算法 二叉树 红黑树

华为工程师又爆一份“架构师宝典”,价值百万薪“史诗级”操作系统,送你备战金三银四要不要?

编程 程序员 计算机网络 操作系统

进一步深挖工业数据价值

CECBC

数据安全;工业互联网

修炼码德系列:简化条件表达式

Silently9527

Java 经验分享 代码重构 代码规范

年轻人快来学习TCP 协议如何解决粘包、半包问题!

程序员小灰

c++ Linux TCP 后台开发 Linux服务器开发

当居住空间被智能包裹:OTA智能社区改变了什么?

脑极体

区块链在国际贸易领域应用的法律问题

CECBC

区块链

智能新时代 安全新未来 首届国网北京电力人工智能数据竞赛正式启动

极客播报

Appium之测试微信小程序

清菡软件测试

App

Linux常用命令速查

jiangling500

linux命令

《穿越数据的迷宫》笔记:中文版序二

方志

数据治理

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