利用重构降低圈复杂度(Cyclomatic Complexity)

什么是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模式减少分支
....

总之其原则是分而治之,越少越好。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值