博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
控制圈复杂度的9种重构技术总结
阅读量:6447 次
发布时间:2019-06-23

本文共 1011 字,大约阅读时间需要 3 分钟。

  hot3.png

输入图片说明 可以直接降低圈复杂度的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

你可能感兴趣的文章
泛型与类型擦除
查看>>
struts2学习笔记--OGNL表达式1
查看>>
android 批量上传图片
查看>>
hdu2089(数位dp)
查看>>
Linux系统编程——进程调度浅析
查看>>
大数据Lambda架构
查看>>
openCV_java 图像二值化
查看>>
状态模式
查看>>
删除CentOS / RHEL的库和配置文件(Repositories and configuraiton files)
查看>>
DJANGO变动库的一次真实手动经历
查看>>
8个基本的引导工具的网页设计师
查看>>
【下载分】C语言for循环语句PK自我活动
查看>>
C语言 后缀自增的优先级详解
查看>>
Salt自动化之自动更新Gitfs-爱折腾技术网
查看>>
【Lucene4.8教程之四】分析
查看>>
iOS开发--计时器-NSTimer与CADisplayLink
查看>>
[改善Java代码]不要让类型默默转换
查看>>
分布式系统常用思想和技术总结(转)
查看>>
Tessnet2图片识别(2)
查看>>
项目开发日常小结
查看>>