专注收集记录技术开发学习笔记、技术难点、解决方案
网站信息搜索 >> 请输入关键词:
您当前的位置: 首页 > Ruby/Rails

Ruby code 品质分析工具(1)

发布时间:2011-06-29 18:32:49 文章来源:www.iduyao.cn 采编人员:星星草
Ruby code 质量分析工具(1)
Saikuro 是一款用来计算圈复杂度的code质量工具。http://saikuro.rubyforge.org/
圈复杂度“用来衡量一个模块判定结构的复杂程度,数量上表现为独立现行路径条数,即合理的预防错误所需测试的最少路径条数,圈复杂度大说明程序代码可能质量低且难于测试和维护,根据经验,程序的可能错误和高的圈复杂度有着很大关系”。

圈复杂度的作者在这篇文章中有关于圈复杂度的详细介绍:http://hissa.nist.gov/HHRFdata/Artifacts/ITLdoc/235/sttoc.htm

Saikuro 使用了一种比较简单的圈复杂度计算方法。函数的复杂度等于所有的判断点的数量的和。
每个方法的起始复杂度为1。以下情况复杂度加1:
1. 判断 / 循环
2. 异常处理
3. block

另外对于逻辑判读式 目前不统计复杂度,虽然作者的文中认为需要。

命令使用方式:
例1:saikuro -c -p test.rb

例2:saikuro -c -t app -y 0 -w 11 -e 16 -o out/

-c -t 表示分析 app/目录下的文件
-y 0 表示返回所有方法的复杂度
-w 11 表示复杂度>=11的给warning
-e 16 表示复杂度>=16的给error


个人见解(经供参考):
好处:
函数代码变简单易读,可维护性增强。

坏处:
函数调用栈变深,debug的时候走了很远还没有找到自己想要的
对函数命名的要求更高,函数封装了,但命名不正确可能导致一些不好的后果,例如被误用
友情提示:
信息收集于互联网,如果您发现错误或造成侵权,请及时通知本站更正或删除,具体联系方式见页面底部联系我们,谢谢。

其他相似内容:

热门推荐: