博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
ruby 代码检测工具
阅读量:6307 次
发布时间:2019-06-22

本文共 1163 字,大约阅读时间需要 3 分钟。

hot3.png

概述:没有人愿意生活在一个有臭味的房子里,臭味的出现说明有什么不对劲的事情发生了,需要你去找到臭味的来源并消除臭味。如果类似的事情发生在一个App中,例如在一个Ruby on Rails项目中,发现“有臭味”的代码并重构它是一种很好的锻炼。幸运地告诉你,这里有一些宝贵的经验可以帮助你。

1、Rubycritic

Rubycritic能给你项目中的任何单个文件进行深入分析。每个文件拿到一个从A(优秀)到F(差)的等级和一个关于复杂度、重复性的结果值。

它输出一个界面方便的html文件来浏览代码和阅读笔记(复杂的方法,重复的代码等)。

tool

2、Rubocop

Rubocop是另一个代码分析器。它有很多的“Cops”,每个“Cops”都是一种不同的检测,都能在代码中体现出来。Cops能够被添加和配置。管理所有选项的最佳方法是使用.rubocop.yml配置文件,就像我所使用的这个(我禁用了一些检测):

1

2

3

4

Metrics/LineLength:

Enabled:false

Documentation:

Enabled:false

它也可以集成到你最喜欢的编辑器中,有许多的编辑器插件,我个人通常使用Sublime Text。

tool

3、Pronto

tool

Pronto对于运行分析比较不同的分支请求。你需要安装你所需要的runners(这里有pronto runners列表)

1

2

3

$ gem install pronto

$ gem install pronto-reek

$ pronto run

你可以得到一个变化分析,或者你可以去做

1

$ pronto run — index

运行未变化的分析,我通常在承诺之前运行最后一个

4、Reek

tool

Reek是一种“臭味探测工具”,非常便于使用。

1

2

$ gem install reek

$ reek .

 

该工具有很多的选项,可以在特定文件夹或文件上运行。Reek包含在Rubycritic中,也能被包含在Pronto中,如果你使用过这些工具,就不需要使用它。

5、Rails Best Practices

Rails Best Practices是一个代码度量工具,它能检测你的代码并且与最佳方法对比,最后反馈一份报告。

它能被添加到pronto中,所以你不需要运行不同的工具。

最后要说的是,我推荐使用Code climate

它不像其他产品仅仅是一个工具,也是一个在线服务,检测代码质量,安全性和测试覆盖率。但它需要你的git账户,能对不同分支进行检测。

现在你已经准备好进行重构(因为你的代码被测试覆盖了,对吗?)

转载于:https://my.oschina.net/u/923974/blog/528324

你可能感兴趣的文章
java tcp socket实例
查看>>
011 指针的算术运算
查看>>
hdu1874畅通工程续
查看>>
rails 字符串 转化为 html
查看>>
java-学习8
查看>>
AOP动态代理
查看>>
Oracle序列
查看>>
xcodebuild命令行编译错误问题解决
查看>>
Yii2.0 下的 load() 方法的使用
查看>>
华为畅玩5 (CUN-AL00) 刷入第三方twrp Recovery 及 root
查看>>
LeetCode----67. Add Binary(java)
查看>>
母版页 MasterPage
查看>>
[转] ReactNative Animated动画详解
查看>>
DNS原理及其解析过程
查看>>
记录自写AFNetWorking封装类
查看>>
没想到cnblog也有月经贴,其实C#值不值钱不重要。
查看>>
【转】LUA内存分析
查看>>
springboot使用schedule定时任务
查看>>
[转] Entity Framework Query Samples for PostgreSQL
查看>>
XDUOJ 1115
查看>>