Crap4J 力求通过算法判定代码质量

  • Ian Roughley
  • 张雪
  • 郭晓刚

2007 年 10 月 27 日

话题:Java语言 & 开发架构文化 & 方法

给定任意 Java 方法 m,m 的 CRAP 值如下式计算:

CRAP(m) = comp(m)^2 * (1 - cov(m)/100)^3 + comp(m)

其中 comp(m) 是方法 m 的圈复杂性(cyclomatic complexity),cov(m) 自动测试(如 JUnit 测试,非人工 QA)达到的测试覆盖率。圈复杂性(cyclomatic complexity)是一个广泛使用的著名指标,它的取值等于方法中唯一决策(unique decisions)的数量加 1。测试覆盖率计算我们采用的是基本路径覆盖(basis path coverage)。

Java语言 & 开发架构文化 & 方法