关注代码质量是高效开发必须要做的一件事,那么在 Ruby 开发的过程中,是否有什么好的代码质量检测工具呢?下面由 Ruby 工程师路英瑞介绍一下 RubyCritic——一款还不错的代码质量检测工具。

最近在开发 Cloud Insight API(一款能够优雅监控多种操作系统、数据库、中间件、云主机的解决方案) 时,发现一个可以检测 Ruby 代码质量的工具-RubyCritic。

RubyCritic 集成 Reek, Flay 和 Flog 这3个分析代码的工具,能够对你的 Ruby 代码进行静态分析并生成质量报告。

功能介绍

  1. 可以总览项目,并且可以对代码打分(百分制).

2.根据各自的坏味道数量建立文件索引

对不同文件按照改动频率复杂度重复度坏味道4个维度进行综合评定代码质量等级。

3.可以查看具体的类文件中的代码质量问题

用法

看一下rubycritic(2.7.0)指令:

rubycritic --helpUsage: rubycritic [options] [paths]}
-p, --path [PATH] 设置质量报告存放的路径(默认: tmp/rubycritic)
-f, --format [FORMAT] 设置报告格式:

html (默认)

json

console

-s, --minimum-score [MIN_SCORE] 设置最小分数
-m, --mode-ci 使用 CI 模式(更快,但仅分析最后一次提交)
--deduplicate-symlinks 基于最后目标去除重复的符号链接
--no-browser 不使用浏览器打开html格式的报告
--suppress-ratings 压制质量评级
-v, --version 显示版本号
-h, --help 显示帮助信息

运行bundle exec ruby critic的效果如下图:

从上图也能看出 Rubycritic 分析代码流程。

其他用法

平时使用 guard 工具的同学, 可以使用guard-rubycritic, 代码改动时会自动分析你的代码。有兴趣的同学也可以将它集成到 Jenkins CI。

扩展功能

在使用 Rubycritic 过程中, 每次都要手动打开浏览器进行查看质量报告,太麻烦了。于是给它添加一个功能:

目前仅支持 Linux 和 Mac OS X 系统:

  • 支持 Linux 浏览器: Firefox(默认)、Chrome 和 Chromium
  • 支持 Mac OS X 浏览器: Safari(默认)、Chrome 和 Firefox

运行步骤

修改 Gemfile

gem 'rubycritic', github: 'superiorlu/rubycritic', branch: 'open_with_browser'

运行rubycritic -O chrome即可。

点此阅读源代码

总结

本文简单介绍了 rubycritic 和用法, 可能某些知识点会有所遗漏,不足之处请大家指正。

更新(2016.01.29)
目前 ruby critic 已经更新到了 2.7.0, 已经默认使用浏览器打开 html 格式的报告了。
:)

本文系国内 ITOM 行业领军企业 OneAPM Ruby Agent (Ruby 应用性能监控神器)工程师路英瑞原创,转自路英瑞简书。想技术文章,请访问 OneAPM 官方技术博客
本文转自 OneAPM 官方博客

转载于:https://www.cnblogs.com/oneapm/p/5226978.html

RubyCritic:一款不错的检测代码质量工具相关推荐

  1. 用于检查和改进代码的PHP代码质量工具

    它们由您的同事开发人员Dave编写. 这些类充满了格式错误,较差的缩进和奇怪的单字母变量.有很多依赖项需要向下滚动几分钟才能逃脱膨胀的构造函数. Shacking,你打开单元测试以了解它应该如何工作. ...

  2. 推荐一款免费的AI代码提示工具Codeium

    由于微软的copilot 价格不菲,一年700块钱左右.不差钱的小伙伴还是copilot走起~ 今天介绍一款免费的AI代码提示工具,它就是 Codeium Codeium对个人是免费使用的,没有次数限 ...

  3. 一小时写给同组的如何使用工具检测代码质量

    因为要做个小项目,同组的同事都比较年轻,为了规范下代码,因此简单的写了下怎么提高代码质量,分享一下: 在接口不通的情况下进行单元测试 使用Mockito, 如果获取余额部分代码为: public cl ...

  4. 分享几款比较常用的代码比较工具

    公众号关注 "大鱼机器人" 设为 "星标",重磅干货,第一时间送达! 素材来源:网络 作者:yueliang2100 整理:strongerHuang 俗话说: ...

  5. idea2020shezhi代码检查级别_GitLab 13.1:告警管理扩展,新代码质量工具和安全合规等...

    昨天Gitlab官方博客发布了Gitlab新的月度版本Gitlab13.1,该版本搭理扩展了告警管理,新增加了改善代码质量的工具集以及安全和合规方面的内容,更多内容请和虫虫一起往下学习. 概述 自动化 ...

  6. java code review 工具_两款好用的代码Review工具 | 学步园

    最近团队内部呼吁代码质量的声音越来越高,项目组引入了代码Review机制.上次我由于不了解主站URL替换的规则,险些造成客户端图片读取错误,而代码Review则有助于帮我们发现代码潜在的问题. 主讲的 ...

  7. 程序员喜欢的 5 款最佳最牛代码比较工具

    点击上方"码农突围",马上关注 这里是码农充电第一站,回复"666",获取一份专属大礼包 真爱,请设置"星标"或点个"在看&quo ...

  8. 代码合并工具_分享几款比较常用的代码比较工具

    俗话说:三句不离本行,对于程序员这个可爱的群体来说也是一样,即使面对无休无止的编程工作,程序员们依旧任劳任怨的埋头苦干,梦想着用自己码下的代码改变世界.工欲善其事,必先利其器,每一位程序员都有自己私藏 ...

  9. 6款程序员常用代码对比工具,你用过几款?

    在程序开发的过程中,程序员会经常对源代码以及库文件进行代码对比,在这篇文章里我们向大家介绍6款程序员常用的代码比较工具. 01.WinMerge WinMerge是一款运行于Windows系统下的文件 ...

最新文章

  1. 自动生成纯文本表格的工具
  2. 3天学会TensorFlow | 香港科技大学
  3. 瘫痪小姐姐“自主”行走视频火了,曾借助轮椅完成舞蹈表演,网友:灵魂是战士...
  4. python中如何快速判断一个值是否大于、小于、等于某个值?
  5. .net项目的二次开发解决方案
  6. U盘加载速度慢的解决方法
  7. OPC通信原理在数采中的应用
  8. java中的mod运算_Java中的运算符与控制语句
  9. ionic自动生成启动页和图标
  10. 使用mfc修改窗口背景,图表
  11. 区块链 PBFT 哪个节点 谁负责打包区块
  12. java设计模式——adapter模式
  13. 利用 MAC 自带的 mount_ntfs 工具加载ntfs移动硬盘进行数据读写
  14. 【会议预告】第七届上海国际皮革展览会
  15. 怎么用计算机算出锁屏密码,电脑怎么设置锁屏密码
  16. 高手教你ie主页被篡改怎么办|加个参数永远不怕IE主页被修改
  17. 艾瑞咨询发布国内首份数据库云管平台市场报告!
  18. 像5D动感影院这种新兴的熊十一观影场所你都了解吗?
  19. Android SDK 离线下载安装更新至4.0.3(目前最新) (转)
  20. 电解电容为什么会爆炸?

热门文章

  1. 严阵以待的意思是什么,怎么用严阵以待造句?
  2. 在互联网和信息快速整合的时代
  3. 如果40岁仍碌碌无为,牢记2句话,最迟也是大器晚成
  4. 电脑主机换了什么东西才需要重新安装系统?
  5. 面向对象编程(Object-Oriented Programming)
  6. 职业年金退休能拿多少?怎么算的?
  7. All Things Intelligence—Baidu World 2020
  8. python入门——P49乱入:生成器
  9. Q4_一个事物领导另一个
  10. Dubbo-Admin-0.2.0服务管理中心安装