码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • 圈复杂度 - 软件工具


    1. 圈复杂度

           圈复杂度(Cyclomatic complexity,简写CC)也称为条件复杂度,是一种代码复杂度的衡量标准。由托马斯·J·麦凯布(Thomas J. McCabe, Sr.)于1976年提出,用来表示程序的复杂度,其符号为VG或是M。它可以用来衡量一个模块判定结构的复杂程度,数量上表现为独立现行路径条数,也可理解为覆盖所有的可能情况最少使用的测试用例数。圈复杂度大说明程序代码的判断逻辑复杂,可能质量低且难于测试和维护。程序的可能错误和高的圈复杂度有着很大关系。

    2. 圈复杂度的计算

    常用结构圈复杂度计算

    • 顺序结构:顺序结构复杂度为1。
    • if-else-else、switch-case:每增加一个分支,复杂度增加1,&& 、|| 运算也为一个分支。
    • 循环结构:增加一个循环结构,复杂度增加1。
    • return:增加一条return语句,复杂度将加1。

    3. 圈复杂度度量标准

     4. 圈复杂度测试工具

    官网地址:http://www.lizard.ws
    源码地址:https://github.com/terryyin/lizard

    5. demo

     

  • 相关阅读:
    scrapy 使用FilesPipeline和ImagesPipeline
    LeetCode算法题解|LeetCode738. 单调递增的数字、LeetCode968. 监控二叉树
    【JavaSE】数据类型和运算符
    HarmonyOS鸿蒙开发常用4种布局详细说明
    FALSK+vue高校学生宿舍管理系统python-django
    AcWing 258. 石头剪子布
    数据结构:JAVA 栈和队列
    批发商/分销商会有一波向B2B转型的浪潮
    Spring控制反转(IOC)
    化学制品制造业数智化供应链管理系统:建立端到端供应链采购一体化平台
  • 原文地址:https://blog.csdn.net/sea_snow/article/details/128203204
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号