RubyCritic:一款不错的检测代码质量工具
关注代码质量是高效开发必须要做的一件事,那么在 Ruby 开发的过程中,是否有什么好的代码质量检测工具呢?下面由 Ruby 工程师路英瑞介绍一下 RubyCritic——一款还不错的代码质量检测工具。
最近在开发 Cloud Insight API(一款能够优雅监控多种操作系统、数据库、中间件、云主机的解决方案) 时,发现一个可以检测 Ruby 代码质量的工具-RubyCritic。
RubyCritic 集成 Reek, Flay 和 Flog 这3个分析代码的工具,能够对你的 Ruby 代码进行静态分析并生成质量报告。
功能介绍
- 可以总览项目,并且可以对代码打分(百分制).
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:一款不错的检测代码质量工具相关推荐
- 用于检查和改进代码的PHP代码质量工具
它们由您的同事开发人员Dave编写. 这些类充满了格式错误,较差的缩进和奇怪的单字母变量.有很多依赖项需要向下滚动几分钟才能逃脱膨胀的构造函数. Shacking,你打开单元测试以了解它应该如何工作. ...
- 推荐一款免费的AI代码提示工具Codeium
由于微软的copilot 价格不菲,一年700块钱左右.不差钱的小伙伴还是copilot走起~ 今天介绍一款免费的AI代码提示工具,它就是 Codeium Codeium对个人是免费使用的,没有次数限 ...
- 一小时写给同组的如何使用工具检测代码质量
因为要做个小项目,同组的同事都比较年轻,为了规范下代码,因此简单的写了下怎么提高代码质量,分享一下: 在接口不通的情况下进行单元测试 使用Mockito, 如果获取余额部分代码为: public cl ...
- 分享几款比较常用的代码比较工具
公众号关注 "大鱼机器人" 设为 "星标",重磅干货,第一时间送达! 素材来源:网络 作者:yueliang2100 整理:strongerHuang 俗话说: ...
- idea2020shezhi代码检查级别_GitLab 13.1:告警管理扩展,新代码质量工具和安全合规等...
昨天Gitlab官方博客发布了Gitlab新的月度版本Gitlab13.1,该版本搭理扩展了告警管理,新增加了改善代码质量的工具集以及安全和合规方面的内容,更多内容请和虫虫一起往下学习. 概述 自动化 ...
- java code review 工具_两款好用的代码Review工具 | 学步园
最近团队内部呼吁代码质量的声音越来越高,项目组引入了代码Review机制.上次我由于不了解主站URL替换的规则,险些造成客户端图片读取错误,而代码Review则有助于帮我们发现代码潜在的问题. 主讲的 ...
- 程序员喜欢的 5 款最佳最牛代码比较工具
点击上方"码农突围",马上关注 这里是码农充电第一站,回复"666",获取一份专属大礼包 真爱,请设置"星标"或点个"在看&quo ...
- 代码合并工具_分享几款比较常用的代码比较工具
俗话说:三句不离本行,对于程序员这个可爱的群体来说也是一样,即使面对无休无止的编程工作,程序员们依旧任劳任怨的埋头苦干,梦想着用自己码下的代码改变世界.工欲善其事,必先利其器,每一位程序员都有自己私藏 ...
- 6款程序员常用代码对比工具,你用过几款?
在程序开发的过程中,程序员会经常对源代码以及库文件进行代码对比,在这篇文章里我们向大家介绍6款程序员常用的代码比较工具. 01.WinMerge WinMerge是一款运行于Windows系统下的文件 ...
最新文章
- 自动生成纯文本表格的工具
- 3天学会TensorFlow | 香港科技大学
- 瘫痪小姐姐“自主”行走视频火了,曾借助轮椅完成舞蹈表演,网友:灵魂是战士...
- python中如何快速判断一个值是否大于、小于、等于某个值?
- .net项目的二次开发解决方案
- U盘加载速度慢的解决方法
- OPC通信原理在数采中的应用
- java中的mod运算_Java中的运算符与控制语句
- ionic自动生成启动页和图标
- 使用mfc修改窗口背景,图表
- 区块链 PBFT 哪个节点 谁负责打包区块
- java设计模式——adapter模式
- 利用 MAC 自带的 mount_ntfs 工具加载ntfs移动硬盘进行数据读写
- 【会议预告】第七届上海国际皮革展览会
- 怎么用计算机算出锁屏密码,电脑怎么设置锁屏密码
- 高手教你ie主页被篡改怎么办|加个参数永远不怕IE主页被修改
- 艾瑞咨询发布国内首份数据库云管平台市场报告!
- 像5D动感影院这种新兴的熊十一观影场所你都了解吗?
- Android SDK 离线下载安装更新至4.0.3(目前最新) (转)
- 电解电容为什么会爆炸?