圈复杂度
来源:互联网 发布:js在字符串中查找字符 编辑:程序博客网 时间:2024/04/28 21:31
一、圈复杂度的概念
是度量软件复杂程度的一个指标,这篇文章介绍的很好:http://blog.csdn.net/wangpeng198688/article/details/50434684 就是图片没法看
嵌入式程序中所说的圈复杂度,都是之函数的复杂度,是以函数为度量的基本单位。
二、圈复杂度的影响
(1)、复杂度大,难以阅读。
(2)、因为难以阅读,所以难以维护和修改。
(3)、圈复杂度大,相对的测试用例数目多,不便于后期的测试。
三、关于复杂度的计算方法
(1) 圈复杂度的理论计算方法可以参考上面的文章,这篇文章介绍的很好:http://blog.csdn.net/wangpeng198688/article/details/50434684
(2) C语言圈复杂度的软件测试方法,可以使用软件工具SourceMonitor进行测试,当然SourceMonitor的功能不只是用来测试圈复杂度。
(3) 圈复杂度并不能完全体现一个函数的复杂程度(对于机器和对于人而言),这只是复杂度的一个方面,和耦合度是一样的,我们可以分割函数,使其圈复杂度降低,但是并不能耦合度以及容易理解的程度。
四、关于圈复杂度的建议
因为圈复杂度的影响,所以建议尽量降低圈复杂度的大小,尽量控制在15以内,再复杂,更改别人的程序就总是觉得不放心了。
阅读全文
0 0
- 圈复杂度
- 圈复杂度
- 圈复杂度
- 圈复杂度
- 圈复杂度
- 圈复杂度
- 圈复杂度
- 圈复杂度
- #圈复杂度
- 程序复杂度之圈复杂度
- 圈复杂度计算
- 圈复杂度计算
- 圈复杂度计算
- 圈复杂度的计算
- 圈复杂度详解
- 函数圈复杂度介绍
- 控制流图|圈复杂度|基本复杂度
- 什么是圈复杂度(Cyclomatic Complexity)
- Cocos2dx 3.10使用using namespace CocosDenshion;错误提示,解决方法
- SSM框架——详细整合教程
- Kotlin中使用Dagger2 可能导致错误"Dagger does not support injection into private fields"
- [LeetCode]110. Balanced Binary Tree
- 剑指offer:变态跳台阶
- 圈复杂度
- Spring Transaction详解
- 聊聊Dubbox(三):架构原理
- vim使用基础(二)
- POJ2752[Seek the Name, Seek the Fame] kmp
- Linux文件系统管理
- 数组和链表的区别
- android最近任务列表,删除某个应用操作
- Monkey 随机脚本工具编写