控制圈复杂度的9种重构技术总结

输入图片说明 可以直接降低圈复杂度的9种重构技术(针对结构化编程): Composing Methods(重新组织你的函数) 1.Extract Method(提炼函数) 分为不同的step步骤进行处理,主干逻辑方法控制在7个以内 将代码放进一个独立函数中,并让函数名称解释该函数的用途

2.Substitute Algorithm(替换你的算法) 将函数本体替换为另一个更清晰、简化的算法 ,如多值匹配candidates.contains Simplifying Conditional Expressions(简化条件表达式) 3.Decompose Conditional(分解条件式) 从if、then、else三个段落中分别提炼出独立函数 4.Consolidate Conditional Expression(合并条件式) 将多个条件合并 为 c1||c2&&c3,并提炼为一个函数 5.Consolidate Duplicate Conditional Fragments(合并重复的条件片断) 多个条件都执行的代码,将重复代码搬移到条件式之外 6.Remove Control Flag(移除控制标记) 以break和return取代控制标记 Making Method Calls Simpler(简化函数调用) 7.Separate Query from Modifier(将查询函数和修改函数分离) 单一职责原则,建立两个不同的函数,其中一个负责查询,另一个负责修改

8.Parameterize Method(令函数携带参数) 通用函数,建立单一函数,以参数表达那些不同的值 9.Replace Parameter with Explicit Methods(以明确函数取代参数) 多个if对应对个函数; 针对该参数的每一个可能值,建立一个独立函数 --- Refactoring: Improving the Design of Existing Code 针对面向对象编程: 10.Replace Conditional with Polymorphism(以多态取代条件式) 将整个条件式的每个分支放进一个子类的重载方法中,然后将原始函数声明为抽象方法 面向接口编程,一个接口多种实现;利用state模式减少分支

转载于:https://my.oschina.net/itnms/blog/418770

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值