`
JerryWang_SAP
  • 浏览: 1033199 次
  • 性别: Icon_minigender_1
  • 来自: 成都
文章分类
社区版块
存档分类
最新评论

如何计算并测量ABAP及Java代码的环复杂度Cyclomatic complexity

阅读更多

代码的环复杂度(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的原创技术文章,请关注公众号"汪子熙"或者扫描下面二维码:

 
 
0
0
分享到:
评论

相关推荐

    ABAP OLE颜色代码

    ABAP OLE 颜色代码 ABAP OLE 颜色代码是指在 ABAP 编程语言中使用的颜色代码。这些代码用于在用户界面中显示不同的颜色,例如背景颜色、文字颜色、按钮颜色等。 在 ABAP 中,颜色代码通常以 šestnaestkovo ...

    sap abap调用java生成的webservice手册

    在ABAP代码中,通过实例化代理类并调用相应方法,如`SayHelloTo`,来发起请求并处理响应。示例代码如下: ```abap DATA: lo_proxy TYPE REF TO if_wd_ws_runtime, lv_name TYPE string. lv_name = 'World'. ...

    SAP ABAP与JAVA之间通过RFC传递数据实例

    通过配置JCo服务器程序以及编写相应的ABAP和JAVA代码,可以实现跨系统的数据传输和处理功能。这对于集成不同技术平台的应用系统来说是非常重要的技术手段之一。此外,本案例还强调了在开发过程中需要注意的一些细节...

    下载ABAP程序源代码的程序.pdf

    下载ABAP程序源代码的程序 ABAP(Advanced Business Application Programming)是一种高级商业应用程序编程语言,主要用于SAP R/3系统中。ABAP语言具有强大的编程能力、灵活的数据类型、丰富的内置函数和强大的错误...

    ABAP开发教程及代码(含SAP各模块实例代码)

    SAP+ ABAP开发实用教程:顾问培训资料,含实例代码和教程,详细描述ABAP开发过程:数据表读法、程序规范、代码实例、调试方法以及ABAP开发环境和总体介绍、 ABAP语法示例 、ALV控件的使用、 实战Form设计 ,分基础、...

    SAP ABAP 代码备份下载到本地程序代码

    SAP ABAP 代码备份下载到本地程序代码

    ABAP调优-代码优化.docx

    ABAP调优是提高ABAP程序执行效率的关键技术,它涉及到代码优化的多个方面。以下是一些关于ABAP代码优化的重要知识点: 1. **优化Open SQL**:在编写Open SQL时,应尽量利用索引来提升查询性能。对于标准内表,可以...

    abap objects for java developers.pdf

    随着Java技术在企业级应用中的普及,越来越多的Java开发者需要了解并掌握ABAP以适应SAP环境的需求。《ABAP Objects for Java Developers》这本资料旨在帮助Java开发者更好地理解和使用ABAP对象编程,以实现高效的...

    SAP ABAP 1.4.4代码下载

    在SAP ABAP 1.4.4版本的代码下载中,我们可以深入探讨这个版本的特性和功能。 首先,SAP ABAP不仅是一种编程语言,还是一个完整的开发环境,它包含了编写、测试和调试代码的所有工具。在1.4.4这样的版本中,通常会...

    ABAP事务代码大全

    对于大家想学sap ABAP开发的来说,ABAP的T-Code是很重要的,但是,事务代码有很多,大家也不可能全部都能记住的,所以特吧ABAP事务代码列出来,大家可以参考的

    ABAP 代码下载备份 1.5.1

    ABAP 代码下载备份 1.5.1

    sap abap query高级功能

    它提供了丰富的功能,使得开发人员可以构建复杂的数据查询,而无需编写大量的 ABAP 代码。在本文中,我们将深入探讨 SAP ABAP Query 的高级特性。 首先,ABAP Query 允许用户添加自定义字段和计算字段。这些字段的...

    ABAP源代码参考(适合初学者)

    本资源集合“ABAP源代码参考”是针对初学者的理想学习材料,包含了112份源代码实例,涵盖了多个关键概念和技术。 首先,让我们深入了解一下标签所涉及的关键知识点: 1. **SAP**:SAP是一个全球领先的业务软件解决...

    ABAP 基本数据类型及计算

    ABAP(Allgemeiner Berichtsaufbereitungsprozessor)是一种专为SAP系统设计的编程语言,起源于20世纪80年代,起初作为报表语言用于SAP R/2系统,...在编写ABAP代码时,合理地利用这些类型可以提高程序的性能和准确性。

    30天学会ABAP很好的教程

    ABAP的另一个显著特性是其跨平台性,类似于Java,ABAP程序可以在任何操作系统上运行,兼容多种数据库,并能在不同的网络系统中无缝运行。ABAP字典实现了透明表的概念,使得开发者在ABAP层面上操作的表与底层数据库...

    JAVA与ABAP之间通过RFC互传数据_JCO实例及API

    本篇文章将深入探讨如何使用JCo(Java Connector)库来实现Java与ABAP系统通过RFC(Remote Function Call)进行数据互传的实例,并解析JCO API的使用。 JCo是SAP提供的一个Java库,它为Java应用程序提供了一种与...

    ABAP代码性能指导

    ### ABAP代码性能指导 #### 一、简介 在企业级应用开发中,特别是基于SAP系统的开发,ABAP(Advanced Business Application Programming)语言是非常重要的工具之一。为了提高ABAP程序的执行效率,确保系统响应...

    ABAP GIT 项目 AI SDK FOR ABAP 代码

    在这个“ABAP GIT 项目 AI SDK FOR ABAP 代码”中,我们将探讨如何在ABAP环境中集成人工智能(AI)功能,以及利用Git进行代码版本控制。 AI SDK for ABAP是SAP提供的一个软件开发工具包,它允许开发人员在ABAP平台...

    java +abap+rfc

    Java与SAP ABAP之间的通信主要通过Remote Function Call (RFC)接口实现,这是一种标准化的方式,允许不同系统间的双向数据交换。在本项目中,我们使用了JCo3(Java Connector version 3)库,它是SAP提供的Java API...

    ABAP-AES-JAVA加密解密(带附件SE24-AES.RAR、JAVA-AES.RAR及测试案例)

    7. **代码实现**:描述中提到的源代码附件(如SE24-AES源码.RAR和TestAes.rar)包含实际的ABAP和JAVA代码,开发者可以直接使用这些代码进行集成和测试,无需从零开始编写加密解密的逻辑。 总的来说,这个主题涵盖了...

Global site tag (gtag.js) - Google Analytics