Ruby code 质量分析工具(1)

Saikuro 是一款用来计算圈复杂度的code质量工具。http://saikuro.rubyforge.org/圈复杂度“用来衡量一个模块判定结构的复杂程度,数量上表现为独立现行路径条数,即合理的预防错误所需测试的最少路径条数,圈复杂度大说明程序代码可能质量低且难于测试和维护,根据经验,程序的可能错误和高的圈复杂度有着很大关系”。圈复杂度的作者在这篇文章中有关于圈复杂度的详细介绍:http://hissa.nist.gov/HHRFdata/Artifacts/ITLdoc/235/sttoc.htmSaikuro 使用了一种比较简单的圈复杂度计算方法。函数的复杂度等于所有的判断点的数量的和。每个方法的起始复杂度为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的时候走了很远还没有找到自己想要的对函数命名的要求更高,函数封装了,但命名不正确可能导致一些不好的后果,例如被误用不敢接受失败的人,往往是那些追求完美的人,

Ruby code 质量分析工具(1)

相关文章:

你感兴趣的文章:

标签云: