Halstead 复杂度简介

难度度量元 (Halstead 复杂度)
  • Halstead 复杂度 (Maurice H. Halstead, 1977) 是软件科学提出的第一个计算机软件的分析“定律”,用以确定计算机软件开发中的一些定量规律。
    • Halstead 复杂度采用一组基本的度量值,这些度量值通常在程序产生之后得出,或者在设计完成之后进行估算。
  • Halstead 复杂度根据程序中语句行的操作符和操作数的数量计算程序复杂性。
    • 操作符和操作数的量越大,程序结构就越复杂。
    • 操作符通常包括语言保留字、函数调用、运算符,也可以包括有关的分隔符等。
    • 操作数可以是常数和变量等标识符。
Halstead 复杂度度量
  • 设 n1 表示程序中不同的操作符个数,n2 表示程序中不同的操作数个数,N1 表示程序中出现的操作符总数,N2表示程序中出现的操作数总数。
  • Halstead 程序词汇表长度 Program vocabulary: n = n1 + n2 .
  • Halstead 程序长度或简单长度 Program length: N = N1 + N 2.
    • 注意到 N 定义为 Halstead 长度,并非源代码行数。
  • 以 N^ 表示程序的预测长度 Calculated program length: N^ = n1 log2 n1 + n2 log
  • 1
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值