zoukankan      html  css  js  c++  java
  • 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 应用性能监控神器)工程师路英瑞原创,转自路英瑞简书。想阅读更多技术文章,请访问 OneAPM 官方技术博客
    本文转自 OneAPM 官方博客

  • 相关阅读:
    图01--[基本概念&&图的实现]
    并查集01--[Quick Find&&Quick Union]
    排序05--[计数排序&&基数排序&&桶排序]
    排序04--[快速排序&&希尔排序]
    harukaの赛前日常
    harukaの收藏夹
    hello world&Restart the Journey
    成外集训小记
    CSPS2019游记
    博弈论初步
  • 原文地址:https://www.cnblogs.com/oneapm/p/5226978.html
Copyright © 2011-2022 走看看