下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、降低圈复杂度降低圈复杂度需求:代码优化:最近公司要求对代码做整改,其中就涉及到圈复杂度。以前也就接触过时间复杂度,所以不得不去搜一波资料。简述:1.概念:圈复杂度(Cyclomaticcomplexity,CC)也称为条件复杂度,是一种衡量代码复杂度的标准,其符号为V(G)。简而言之,也就是统计代码中条件判断的数量。2.影响因素:*if语句while语句for语句case语句catch语句and和or布尔操作:三元运算符计算方式:*V(G)*=P+1P代表代码中条件判断数量,也就是上面影响因素存在的个数,1代表正常顺序的圈复杂度例:下面圈复杂度为2:while(0.equals(a)if(b!
2、=null)C+;注意:if(a=null&b!=null)圈复杂度为2,因为有两个判断,所以当你处心积虑把两个if条件组合时,圈复杂度并没有改变,改变的是认知复杂度。if-else和if圈复杂度都是1,不要想着只留if去掉else,结果并没有改变条件嵌套和提出不影响圈复杂度计算,例如把if里面的for循环提到外面,结果圈复杂度还是2if转换成三元运算符不影响圈复杂度5降低圈复杂度的目的是为了优化代码,降低维护成本,不要为了降低而强行将代码抽取复杂化6.千万不要改动原来逻辑优化方法:目前只用了几种方法,下面是几个优化的例子尽量使用封装好的util类集合空判断(istMap)Set改前:if(l
3、ist=null|listsize()=0)b+;改后:if(CollectionUtils.isEmpty)b+;关各种流改前:if(stream!=null)trystream.close();catch(IOExceptione)e.printStackTrace();改后:IOUtils.closeQuietly(stream)switch/case转成map改前:switch(a)case1:b=f;break;case2:b=g;break;default:break;改后:Mapmap=newHashMap()map.put(1,f);map.put(2,g);b=map.get(a);提炼函数改前:if(b=null)a=1;elsea=4;改后:publicstaticTgetValueByCondition(booleancondition,TvalueOfTrue,TvalueOfFalse)if(c
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 交通运输厅交通建设工程监理管理手册(标准版)
- 2026四川九洲线缆有限责任公司招聘客服经理岗1人考试备考题库及答案详解
- 装运工人职业病危害防护手册
- 《数字化工业数据安全防护手册》
- 智能安防系统设计与施工规范手册
- 动物园安全应急处置手册 (标准版)
- 2026人教版五年级数学上册第二单元第5课《用小数表示倍的关系》教案
- 高职法律事务专业二年级《全资子公司章程:法律结构、商业逻辑与核心条款实务解析》教案
- 一年级上册数学《逆向求和:解决“原来有多少”的实际问题》教案
- 高中化学《工业废水处理系统优化设计》教案
- 2026年碳排放管理办法考试试题及答案
- 2026年安徽金鹃传媒科技股份有限公司社会公开招聘14名笔试备考题库及答案详解
- 2026四川凉山州发展(控股)集团有限责任公司所属企业招聘专业技术人员及管理人员9人笔试备考试题及答案详解
- 2026年苏州相城区村(社区)工作者招聘考试试卷(含答案解析)
- 2026年教师编制考试申论冲刺题库
- 危险源辨识、风险评价清单(办公区、食堂、宿舍)
- AI原生工作报告
- 2026黑龙江省交通投资集团有限公司招聘备考题库附答案详解(研优卷)
- 2026年IPA国际注册对外汉语教师资格认证考试真题含答案
- 贵州省贵阳市2024-2025学年八年级下学期期末考试英语试卷(含答案)
- 2025全国高校辅导员结构化面试题集及参考答案
评论
0/150
提交评论