代码的环复杂度(Cyclomatic complexity,有的地方又翻译成圈复杂度)是一种代码复杂度的衡量标准,在1976年由Thomas J. McCabe, Sr. 提出。
在软件测试的概念里,圈复杂度用来衡量一个模块判定结构的复杂程度,数量上表现为独立线性路径条数,即合理的预防错误所需测试的最少路径条数。圈复杂度大说明程序代码可能质量低且难于测试和维护。
计算公式
环复杂度 = E − N + 2
E = 程序控制流图中边的个数
N = 程序控制流图中点的个数
看个具体的例子。下面这段ABAP代码的环复杂度根据公式计算为3.
DATA: lv_value TYPE i VALUE 1.
IF lv_value = 1.
WRITE: / 'always happend'.
ELSEIF lv_value = 2.
WRITE: / 'not possible'.
ELSE.
WRITE: / 'even not possible'.
ENDIF.
先把代码的程序流图画出来:
在ABAP里用Code inspector这个工具测量代码的环复杂度:
具体步骤参考我的ABAP博客:
而Java可以用一个叫做SourceMonitor的工具测量环复杂度:
详细使用参考我的博客Use SourceMonitor to monitor your java code complexity
要获取更多Jerry的原创技术文章,请关注公众号"汪子熙"或者扫描下面二维码:
相关推荐
ABAP OLE 颜色代码 ABAP OLE 颜色代码是指在 ABAP 编程语言中使用的颜色代码。这些代码用于在用户界面中显示不同的颜色,例如背景颜色、文字颜色、按钮颜色等。 在 ABAP 中,颜色代码通常以 šestnaestkovo ...
在ABAP代码中,通过实例化代理类并调用相应方法,如`SayHelloTo`,来发起请求并处理响应。示例代码如下: ```abap DATA: lo_proxy TYPE REF TO if_wd_ws_runtime, lv_name TYPE string. lv_name = 'World'. ...
通过配置JCo服务器程序以及编写相应的ABAP和JAVA代码,可以实现跨系统的数据传输和处理功能。这对于集成不同技术平台的应用系统来说是非常重要的技术手段之一。此外,本案例还强调了在开发过程中需要注意的一些细节...
下载ABAP程序源代码的程序 ABAP(Advanced Business Application Programming)是一种高级商业应用程序编程语言,主要用于SAP R/3系统中。ABAP语言具有强大的编程能力、灵活的数据类型、丰富的内置函数和强大的错误...
SAP+ ABAP开发实用教程:顾问培训资料,含实例代码和教程,详细描述ABAP开发过程:数据表读法、程序规范、代码实例、调试方法以及ABAP开发环境和总体介绍、 ABAP语法示例 、ALV控件的使用、 实战Form设计 ,分基础、...
SAP ABAP 代码备份下载到本地程序代码
ABAP调优是提高ABAP程序执行效率的关键技术,它涉及到代码优化的多个方面。以下是一些关于ABAP代码优化的重要知识点: 1. **优化Open SQL**:在编写Open SQL时,应尽量利用索引来提升查询性能。对于标准内表,可以...
随着Java技术在企业级应用中的普及,越来越多的Java开发者需要了解并掌握ABAP以适应SAP环境的需求。《ABAP Objects for Java Developers》这本资料旨在帮助Java开发者更好地理解和使用ABAP对象编程,以实现高效的...
在SAP ABAP 1.4.4版本的代码下载中,我们可以深入探讨这个版本的特性和功能。 首先,SAP ABAP不仅是一种编程语言,还是一个完整的开发环境,它包含了编写、测试和调试代码的所有工具。在1.4.4这样的版本中,通常会...
对于大家想学sap ABAP开发的来说,ABAP的T-Code是很重要的,但是,事务代码有很多,大家也不可能全部都能记住的,所以特吧ABAP事务代码列出来,大家可以参考的
ABAP 代码下载备份 1.5.1
它提供了丰富的功能,使得开发人员可以构建复杂的数据查询,而无需编写大量的 ABAP 代码。在本文中,我们将深入探讨 SAP ABAP Query 的高级特性。 首先,ABAP Query 允许用户添加自定义字段和计算字段。这些字段的...
本资源集合“ABAP源代码参考”是针对初学者的理想学习材料,包含了112份源代码实例,涵盖了多个关键概念和技术。 首先,让我们深入了解一下标签所涉及的关键知识点: 1. **SAP**:SAP是一个全球领先的业务软件解决...
ABAP(Allgemeiner Berichtsaufbereitungsprozessor)是一种专为SAP系统设计的编程语言,起源于20世纪80年代,起初作为报表语言用于SAP R/2系统,...在编写ABAP代码时,合理地利用这些类型可以提高程序的性能和准确性。
ABAP的另一个显著特性是其跨平台性,类似于Java,ABAP程序可以在任何操作系统上运行,兼容多种数据库,并能在不同的网络系统中无缝运行。ABAP字典实现了透明表的概念,使得开发者在ABAP层面上操作的表与底层数据库...
本篇文章将深入探讨如何使用JCo(Java Connector)库来实现Java与ABAP系统通过RFC(Remote Function Call)进行数据互传的实例,并解析JCO API的使用。 JCo是SAP提供的一个Java库,它为Java应用程序提供了一种与...
### ABAP代码性能指导 #### 一、简介 在企业级应用开发中,特别是基于SAP系统的开发,ABAP(Advanced Business Application Programming)语言是非常重要的工具之一。为了提高ABAP程序的执行效率,确保系统响应...
在这个“ABAP GIT 项目 AI SDK FOR ABAP 代码”中,我们将探讨如何在ABAP环境中集成人工智能(AI)功能,以及利用Git进行代码版本控制。 AI SDK for ABAP是SAP提供的一个软件开发工具包,它允许开发人员在ABAP平台...
Java与SAP ABAP之间的通信主要通过Remote Function Call (RFC)接口实现,这是一种标准化的方式,允许不同系统间的双向数据交换。在本项目中,我们使用了JCo3(Java Connector version 3)库,它是SAP提供的Java API...
7. **代码实现**:描述中提到的源代码附件(如SE24-AES源码.RAR和TestAes.rar)包含实际的ABAP和JAVA代码,开发者可以直接使用这些代码进行集成和测试,无需从零开始编写加密解密的逻辑。 总的来说,这个主题涵盖了...