什么是Cyclomatic Complexity,以及其计算方法,这里不做讨论。
圈复杂度可以用PMD(http://pmd.sourceforge.net/)分析出,它有相应的eclipse plug-in。
一般我们会用重构来降低圈复杂度,重构办法有:
1、Extract method
2、合并条件分支,合并后可用boolean变量来替换条件分支中的语句。例如:
//合并后的条件分支
// if (((Name)names[i]).getKey() > ((Name)names[j]).getKey() && b>a && c>b) {
// md(names, i, j);
// }
[color=red]boolean ddd=((Name)names[i]).getKey() > ((Name)names[j]).getKey() && b>a && c>b;[/color]
if (ddd) {
md(names, i, j);
}
3、利用多态减少分支
4、利用state模式减少分支
....
总之其原则是分而治之,越少越好。
最后
以上就是呆萌小蚂蚁最近收集整理的关于利用重构降低圈复杂度(Cyclomatic Complexity)的全部内容,更多相关利用重构降低圈复杂度(Cyclomatic内容请搜索靠谱客的其他文章。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复