RubyCritic:一款不错的检测代码质量工具

简介:

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

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

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

功能介绍

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

RubyCritic:一款不错的检测代码质量工具

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

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

RubyCritic:一款不错的检测代码质量工具

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

RubyCritic:一款不错的检测代码质量工具

用法

看一下rubycritic(2.7.0)指令:

rubycritic --help

  Usage: 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:一款不错的检测代码质量工具

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

其他用法

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

扩展功能

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

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 应用性能监控神器)工程师路英瑞原创,转自路英瑞简书

相关文章
|
10月前
|
人工智能 安全 算法
Copilot的缺陷分析与探讨
【2月更文挑战第17天】Copilot的缺陷分析与探讨
244 1
Copilot的缺陷分析与探讨
|
10月前
|
SQL 消息中间件 Java
一次开发过程中解决问题的过程及思考
在Java开发中,面对大型电商项目订单处理模块的性能瓶颈,通过问题分析发现数据库查询和更新、事务管理是主要症结。通过优化SQL查询、分页查询与懒加载、事务处理及引入消息队列进行异步处理,有效解决了并发问题,提升了系统响应速度和吞吐量。这次经历强调了深入理解基础知识、面向性能设计、技术选型及持续监控调优的重要性,促进了开发者对高并发、高性能系统设计的理解和技能提升。
|
6月前
|
安全 算法 Java
代码质量和安全使用代码检测提升
云效代码管理提供多种内置扫描服务,确保代码质量与安全性。面对编码不规范、敏感数据泄露、依赖项安全漏洞等问题,该服务从代码提交到合并全程保驾护航。不仅依据《阿里巴巴 Java 开发手册》检查编码规范,还利用先进算法智能推荐代码补丁,检测敏感信息及依赖包漏洞。用户可在每次提交或合并请求时选择自动化扫描,快速定位并解决问题,提升研发流程的稳定性与安全性。立即体验云效代码管理,保障代码健康。
101 11
|
6月前
|
测试技术 UED
软件测试中的探索性测试:一种有效的缺陷检测方法
探索性测试,作为一种灵活且强大的软件测试技术,越来越受到测试人员的青睐。它不仅依赖于预定义的测试用例,而是依靠测试人员的经验和直觉,动态地探索软件以发现缺陷。本文将深入探讨探索性测试的核心概念、优势以及如何在现代软件测试中有效应用这一方法。通过具体实例和实践技巧,我们将揭示如何利用探索性测试提高软件质量和测试效率。
59 4
|
10月前
|
人工智能 自然语言处理 安全
从代码生成工具看技术手段升级
【2月更文挑战第7天】从代码生成工具看技术手段升级
|
7月前
|
XML 安全 Java
App安全检测实践基础——工具
App安全检测实践基础——工具
153 0
|
10月前
|
弹性计算 Shell 开发工具
自动化代码质量检查
【4月更文挑战第30天】
52 0
|
设计模式 人工智能 自然语言处理
代码质量难以管控?这个工具了解一下
有这么一句名言“Talk is cheap, Show me the code.” 不管是新人还是老手,都特别想提高自己的代码质量,至少让别人看着舒服。我在以往的工作经历中,因为忙于功能的实现及交付,并没有太重视个人编码的能力,包括正确性、美观性和健壮性。工作几年的人还写出那么“难看”的代码,说出去会很丢人的,所以,如何提升自己的编码水平显得尤为迫切。
|
程序员 测试技术 数据库
如何编写高质量的缺陷报告
本文介绍一些技巧和实践方法,来帮助测试人员编写高质量的缺陷报告。因为不同的项目团队对测试人员有不同的期望,读者在采纳这些基本实践时,需要做一些因地制宜的变化。
279 0
|
XML 安全 Linux
C++代码审查工具Cppcheck和TscanCode
C++代码审查工具Cppcheck和TscanCode

热门文章

最新文章