阿里云「飞天发布时刻」2024来啦!新产品、新特性、新能力、新方案,等你来探~ 了解详情
写点什么

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

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

关注

评论

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

如何利用 Google 开源工具 Ko 在 kubernetes 建并部署 Go 应用

公众号:云原生Serverless

Kubernetes 云原生

ceph-csi源码分析(2)-组件启动参数分析

良凯尔

Kubernetes 源码分析 Ceph CSI

思维训练

Ryan Zheng

iOS 面试策略之语言工具-Swift

iOSer

ios swift 面试

太厉害了,终于有人能把Ansible讲的明明白白了,建议收藏

沐风

ansible

大数据-数据处理分类篇

进击的梦清

大数据 批处理 流式计算框架

HZFE 快报002 / 比特币7年来首次跌破50天均线

HZFEStudio

大前端 金融科技 科技互联网 资讯

微信读书又更新,吃灰已久的Pencil又能拿出来遛一遛了。

彭宏豪95

效率工具 读书 阅读 4月日更 微信读书

Go 的 UTF-8 实现

Rayjun

utf-8 Go 语言

Redis-Cluster集群

Sakura

4月日更

封神总结!12W字“多线程与高并发实战手册”成功助我涨薪19K

比伯

Java 程序员 架构

【网络】【操作系统】详解select、poll、epoll

Linux服务器开发

后端 网络编程 Linux服务器开发 网络io eopll

深入理解Spring框架之AOP子框架

邱学喆

aop 动态代理 cglib ProxyConfig AspectJ

关于读书的随想

小天同学

读书 4月日更

产品训练营第三周作业

innovator琳

产品

打通本地部署和公有云,混合云架构让“鱼”和“熊掌”兼得(一)

UCloud技术

混合云

封神总结!蚂蚁金服+滴滴+美团+拼多多+腾讯15万字Java面试题

Java架构追梦

Java 阿里巴巴 架构 面试 金三银四

JVM-技术专题-虚拟机知识遗漏盘点

洛神灬殇

JVM

Golang 反射

escray

学习 极客时间 Go 语言 4月日更

Python OOP-2

若尘

面向对象 oop 面向对象编程 Python编程

基于NIO高性能、可扩展网络应用库:xSocket

风翱

4月日更 xSocket

内容平台与热点挖掘思考

程序员架构进阶

28天写作 4月日更 领域思考 内容平台

想拿到10k-40k的offer,这些技能必不可少!作为程序员的你了解吗?

Java架构师迁哥

高效获取信息的几点经验

彭宏豪95

效率 信息 阅读 4月日更

介绍一款能取代 Scrapy 的爬虫框架 - feapder

星安果

Python 爬虫 Scrapy feapder

流量分析中常见的指标简单总结

五分钟学大数据

4月日更

Web3.0时代需要什么样的企业级协作工具?

猫Buboo

都在看的18WJava核心成长笔记 让我成功收获字节、阿里、腾讯大厂Offer!

学Java关注我

Java 编程 架构 架构师 程序人生】

ceph-csi源码分析(1)-组件介绍与部署yaml分析

良凯尔

Kubernetes 源码分析 Ceph CSI

DAPP系统开发运营版,DAPP系统开发案例源码

系统开发咨询1357O98O718

ARST-日常打卡3

pjw

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