写点什么

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

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

关注

评论

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

政务服务平台建设的难点怎样解决

Geek_99967b

小程序 小程序容器

亿铸科技聚焦国产存算一体AI大算力芯片,28纳米工艺实现10倍能效比

硬科技星球

低代码探索:Java模板引擎技术

程序员架构进阶

低代码 9月日更 模板引擎 技术探索

一站式数字藏品收款系统开发解决方案

开源直播系统源码

NFT 元宇宙 数字藏品 数字藏品系统

倒计时 1 天|洞察数字化转型新机遇,共论云上数据分析新观点

Kyligence

数据分析 指标管理

[Go WebSocket] 多房间的聊天室(五)用多个小锁代替大锁,提高效率

HullQin

Go golang 后端 websocket 9月月更

Java虚拟机之垃圾收集算法

派大星

9月月更

Ansible如何使用Filter插件转换数据

山河已无恙

9月月更

聚簇索引与覆盖索引

急需上岸的小谢

9月月更

Java 8 的异步利器:CompletableFuture源码解析(建议精读)

Java快了!

java;

研发效能之环境管理

laofo

DevOps cicd 研发效能 持续集成 持续交付

Elasticsearch聚合学习之二:区间聚合

程序员欣宸

elasticsearch 9月月更

数据治理(十六):Ranger管理HDFS安全

Lansonli

数据治理 9月月更

双“简”合璧:极简 Kubernetes 上使用极简服务网格

Flomesh

Service Mesh 服务网格

JavaScript 这几个“神(qi)奇(pa)“设计也是醉了......

掘金安东尼

JavaScript 前端 9月月更

活动回顾 | 基于英特尔技术的端到端音视频优化

网易云信

音视频技术

基于 iframe 的微前端框架 —— 擎天

vivo互联网技术

前端框架 微前端 项目管理工具 iframe

三个案例,带你体验SQL的神奇特性

华为云开发者联盟

数据库 后端 sql 企业号九月金秋榜

数据脱敏前沿实践分享,筑造数据安全边界 | 极客星球

MobTech袤博科技

加密 数据安全

【火热招募】一文看懂华为云IoT Edge边缘计算开发者大赛技术亮点

华为云开发者联盟

IoT 边缘计算 华为云 企业号九月金秋榜

【云原生】Kubernetes编排工具精讲

陈橘又青

云原生 9月月更

编排流程/规则,编排本身也需要很深的逻辑思考!

waitmoon

规则引擎使用 规则引擎 流程引擎 可视化开发

Qt|图片旋转缩放操作

中国好公民st

c++ qt 9月月更

ABAP Netweaver 和 ABAP Platform 这两个名词的辨析

汪子熙

SAP abap Netweaver 思爱普 9月月更

Java进阶(十八)Java实现定时器(Timer)

No Silver Bullet

Java 定时器 9月月更

不止于《幻塔》,云底座护航完美世界迎接行业新时代

阿里云弹性计算

游戏 ECS

Nacos 和 Apollo中的 长轮询 定时机制,太好用了

Java快了!

Nacos 和 Apollo中的

移动App开发的痛点怎样解决

Geek_99967b

小程序

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