写点什么

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

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

关注

评论

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

老公熬夜都要看的:从基础到进阶的Java面试题,助你2021年金三银四拿下大厂offer。

996小迁

Java 编程 架构 面试 计算机

蘑菇街大牛熬夜整理的Spring MVC知识点总结(思维导图+源码笔记),免费分享文档资料

Java架构之路

Java 程序员 架构 面试 编程语言

发挥区块链技术优势 确保食品安全

CECBC

区块链技术 信任机制

计算机网络基础知识总结

苹果看辽宁体育

计算机网络 计算机

java安全编码指南之:ThreadPool的使用

程序那些事

java安全编码 java编码指南 java安全编码指南 java代码规范

PLSQL 过程语言-结构化查询语言

Flychen

详解GaussDB(DWS) explain分布式执行计划

华为云开发者联盟

数据库 计划 数据

架构师第一期作业(第5周)

Cheer

作业

go-zero 如何应对海量定时/延迟任务?

万俊峰Kevin

定时任务 时间轮 microservice 延迟任务 Go 语言

忘记MySQL密码怎么办?一招教你搞定!

王磊

MySQL

spring-boot-route(二十)Spring Task实现简单定时任务

Java旅途

Java Spring Boot Spring Task

在算力“沃土”上,种植互联网下一个奇迹十年

脑极体

手把手带你玩转 openEuler | openEuler 的使用

openEuler

操作系统 openEuler

Servlet-技术专题-Servlet3异步原理与实践

码界西柚

速度(Velocity)不背这个锅

BY林子

敏捷开发 估算与计划

架构师训练营第五周学习总结

邓昀垚

极客大学架构师训练营

APP 莫名崩溃,开始以为是 Header 中 name 大小写的锅,最后发现原来是容器的错!

程序员小航

Java bug Header携带签名 工作笔记 问题排查

金九银十期间成功斩获58万架构师Offer!六面字节跳动面经和面试题分享

Java架构追梦

Java 学习 架构 面试 JVM

目标2025:通信产业在能源变局中拥抱智能未来

脑极体

帆软授权失效处理

Flychen

最新版MySQL在MacOS上的安装与使用

王磊

MySQL

LAXCUS大数据集群操作系统:一个分布式分时共享E级系统软件(四)

陈泽云

人工智能 大数据 数据结构 操作系统 数据存储

sync-player:使用websocket实现异地同步播放视频

GoEasy消息推送

websocket 数据同步 实时通信

云原生在京东丨基于 Tekton 打造下一代云原生 CI 平台

京东科技开发者

ci 云原生 Tekton

深度详解企业CRM系统,体验软件快速开发平台

Marilyn

敏捷开发 快速开发 CRM

iOS底层原理之—dyld与objc的关联

iOSer

ios开发 iOS Developer dyld objc

十八、深入Python函数

刘润森

Python

MySQL-技术专题-联合索引最左前缀匹配原则

码界西柚

MySQL-技术专题-聚集索引和慢查询

码界西柚

用Python加载数据的5种不同方式

计算机与AI

Python 数据处理

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