原文:如何重构一个圈复杂度超30的类

下面的类是一个老系统的代码,现在放到sonar上面进行扫描,扫出来的结果发现复杂度超过了 。 代码复杂度是指代码中的分支数量,比如有一个if分支,代码复杂度就加 ,如果if中有 或者 amp amp 那么代码复杂度就加 ,for和while同理。一般复杂度超过 的类就算是比较复杂的了,而这个类的复杂度竟然达到了 ,代码的糟糕程度可见一斑,现在我们就来重构一下这个类的代码。 原始文件在这里。 重构 ...

2013-10-09 07:48 1 5713 推荐指数:

查看详情

C语言switch/case复杂度优化重构

软件重构是改善代码可读性、可扩展性、可维护性等目的的常见技术手段。复杂度作为一项软件质量度量指标,能从一定程度上反映这些内部质量需求(当然并不是全部),所以复杂度往往被很多项目采用作为软件质量的度量指标之一。 C语言开发的项目中,switch/case代码块是一个很容易造成复杂度超标的语言 ...

Sun Aug 27 02:55:00 CST 2017 0 5407
复杂度

Cyclomatic Complexity 1. 概念   a. 复杂度是一种衡量代码复杂程度的标准。   b. 复杂度高的害处:     复杂度大说明代码的判断逻辑复杂,可能质量低;     需要的更多的测试用例,难于测试和维护;     程序的可能错误和高的复杂度有着很大 ...

Wed Dec 02 19:45:00 CST 2015 0 13650
降低复杂度

降低复杂度 用functional的方式降低复杂度 用stl algorithm代替for loop https://blog.csdn.net/YyoulingL/article/details/84515924 降低复杂度 https ...

Thu Apr 30 03:42:00 CST 2020 0 572
浅析代码复杂度及认知复杂度

写在开始 复杂度用来描述一段代码“可测性”很好(可测性这里指需要构建完善的覆盖全面的单元测试需要付出多少代价),但它的设计模型很难得出一个很好的“可读性&可维护性”的测量结果 新版soanrqube引入了认知复杂度的概念,这个复杂度指标弥补了复杂度的一些不足,能更准确的反映一段代码 ...

Tue Jan 25 19:34:00 CST 2022 0 2699
复杂度计算实例

=判定节点数+1。 其实,复杂度的计算还有更直观的方法, 因为复杂度所反映的是“判定条件”的数量, ...

Thu Nov 29 17:32:00 CST 2018 0 5984
【软件测试】复杂度

复杂度:在软件测试的概念里,它用来衡量一个模块判定结构的复杂程度,数量上表现为线性无关的路径条数,即 合理的预防错误所需测试的最少路径条数。 复杂度大说明程序代码可能质量低且难于测试和维护,根据经验,程序的可能错误和高的复杂度有着很大关系。 复杂度的原理 ...

Wed Mar 04 04:08:00 CST 2020 1 1069
 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM