NVIDIA 初创加速计划,免费加速您的创业启动 了解详情
写点什么

使用 Caliper 度量 Ruby 代码的规范程度

  • 2009-11-10
  • 本文字数:708 字

    阅读完需:约 2 分钟

Caliper 为 Ruby 项目提供了制式标准评价,其使用可以说是再简单不过了:仅仅是将Caliper 指向你的Git 库,等几分钟吧,然后看看你的代码合不合符制式标准。

Caliper 是免费的服务,由 Devver 提供,这个公司以其测试加速程序(参考 InfoQ 上的 Faster Ruby Test Execution With Devver )而闻名。各类的标准的计算是由 metric_fu 完成的,它一次使用类似于 Roodi (对设计问题发出警告)和 Saikuro (一个循环复杂度分析器)。Caliper 将这些数据聚集起来,分析之后提供一个很完整漂亮的概述。例如,看看 Sinatra 的分析报告。

Devver 的 Benjamin Brinckerhoff 告诉我们,他们准备加入更多的标准测试:

我们还不完全肯定我们将会加入哪些测试。这主要看我们从用户得到的反馈。现在有一些想法:

  • Towelie ,和 Flay 很类似,用来度量代码冗余。
  • rcov ,已经包含在 metric_fu,但是 Caliper 现在还不支持。
  • Railroad ,类范图生成器。
  • TODO 探测器,查看哪些文件的 TODO 最多(或者其他的程序员做的标记)。具体的字符串可以自定义,我们希望能够自己编写这个程序(这个应该是相当容易)。

当我们添加这些工具的时候,我们也计划将其加入 metric_fu 中(如果 metric_fu 团队允许这么做的话,那就太好了!)。同时,我们也正在努力地是现有的 metric_fu 数据更加易于理解和使用。

仅仅计算是否符合标准是不够的,代码还应该能够在以后被重构。 Devver 的博客上展示了 Caliper 的标准是如何用来改善其代码库。Caliper 也能够和其他的服务通过提交确认回调(Post-commit Hooks)的方式集成在一起,例如 GitHub rdoc.info

这个服务对于开源项目来说是免费的,如果在私人项目中使用则需要支付相应的费用。

查看英文原文: Metrics for Ruby With Caliper

2009-11-10 18:55930
用户头像

发布了 90 篇内容, 共 32.9 次阅读, 收获喜欢 5 次。

关注

评论

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

模块七作业

秀聪

架构实战营

从源码角度分析 MyBatis 工作原理

vivo互联网技术

sql mybatis JDBC ORM

从 CI_CD 到 DevOps

SoFlu软件机器人

DevOps 自动化 基础软件

百度清风算法再次升级:必须严打低质下载站

石头IT视角

从分子层面雕刻肌肉,新数学模型预测锻炼肌肉最优方式

脑极体

TLS协议分析 (四) handshake协议概览

OpenIM

架构实战营 - 模块七作业

Julian Chu

架构实战营

TLS协议分析 (三) record协议

OpenIM

【Flutter 专题】54 图解基本生命周期

阿策小和尚

Flutter 小菜 0 基础学习 Flutter Android 小菜鸟 9月日更

解读顶会ICDE’21论文:利用DAEMON算法解决多维时序异常检测问题

华为云开发者联盟

华为云数据库 时序数据 深度神经网络算法 DAEMON 轨迹分析

学习Linux tar 命令:最简单也最困难

华为云开发者联盟

Linux 文件 Linux tar tar命令 存档

学会这5种JS函数继承方式,前端面试你至少成功50%

华为云开发者联盟

面试 大前端 js 继承 函数继承

TLS协议分析 (五) handshake协议 证书与密钥交换

OpenIM

直播预告:京东云DevOps与JFrog制品库的融合

京东科技开发者

DevOps 制品库管理 运维开发

Vue进阶(九十九):页面锚点至顶部

No Silver Bullet

Vue 9月日更

模块(三)如何设计出合理的架构

我是一只小小鸟

如何在AI工程实践中选择合适的算法?

博文视点Broadview

颇具年代感的《JMeter中文操作手册》

FunTester

Jmeter 性能测试 自动化测试 接口测试 FunTester

【LeetCode】分割平衡字符串Java题解

Albert

算法 LeetCode 9月日更

Rust从0到1-高级特性-宏

rust 高级特性 Macros

使用GO语言实现Mysql数据库CURD

Regan Yue

数据库 Go 语言 9月日更

终于,基础软件领域的行业盛会来了!

Jessie

开源 云原生 基础软件 中间件 #数据库

【VueRouter 源码学习】第五篇 - 两种路由模式的设计

Brave

源码 vue-router 9月日更

微型博客开发项目,手动创建导航组件的新增页面

梦想橡皮擦

9月日更

Retrofit源码解读HTTP

Changing Lin

android 9月日更

Vue进阶(壹佰):当前页面刷新并重载页面数据

No Silver Bullet

Vue 9月日更

带你认识数据库视图对象,下次不要再认成“表”了

华为云开发者联盟

数据库 sql 对象 视图 GaussDB(DWS)

初恋永远想不到的性能架构(朋友圈)

人工智能~~~

LeetCode题解:897. 递增顺序搜索树,栈,JavaScript,详细注释

Lee Chen

算法 大前端 LeetCode

GetX代码生成IDEA插件,超详细功能讲解(透过现象看本质)

小呆呆666

朋友圈架构设计

XP

使用Caliper度量Ruby代码的规范程度_Ruby_Mirko Stocker_InfoQ精选文章