【STMT】Halstead复杂度

Halstead复杂度是衡量软件复杂性的一种方法,基于程序中的操作符和操作数。它涉及11个度量指标,如操作符和操作数的种类及数量,通过这些计算程序的体积、级别、难度等。文章分析了代码的Halstead复杂度,并提供了计算过程。
摘要由CSDN通过智能技术生成

Halstead复杂度

Halstead复杂度度量是软件复杂性的难度度量元,用于在程序产生或设计完成之后估算软件的复杂性。Halstead复杂度度量基于程序中的操作符和操作数的数量,对操作符和操作数的不同选取将得到不同的结果。常见的操作符和操作数如下

  • 操作符:保留字、函数调用、运算符
  • 操作数:常数、常量、变量

需要注意的是,声明变量的数据类型保留字可以不计入操作符数量。根据编程规范的不同,在一条声明语句中既可以只声明一个变量,也可以声明多个变量,因此如果计入操作符数量,不同的编程规范可能导致差别较大的结果。
Halstead复杂度有11个常用的度量指标。设 n 1 n_1 n1表示程序中不同的操作符个数, N 1 N_1 N1表示程序中出现的操作符总数, n 2 n_2 n2表示程序中不同的操作数个数, N 2 N_2 N2表示程序中出现的操作数总数, S S S表示程序中的语句数,Halstead复杂度的所有指标都可以用 n 1 , N 1 , n 2 , N 2 , S n_1, N_1, n_2, N_2, S n1,N1,n2,N2,S来计算。Halstead度量指标如下

  • 程序词汇表长度 Program Vocabulary: n = n 1 + n 2 n = n_1 + n_2 n=n1
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值