如何解读由SourceMonitor计算的代码指标

15

阅读了 "计算代码度量" 问题的答案后,我安装了工具 SourceMonitor 并计算了一些指标。

然而我不知道如何解释它们。

对于以下度量指标,什么数值是“好”的呢?

  • “百分比分支语句”
  • “每个类的方法数量”
  • “每个方法的平均语句数量”
  • “最大方法或函数复杂度”

我在文档中找不到提示,有人可以帮忙吗?

2个回答

16

SourceMonitor是一个很棒的工具。

对于那些希望确保其类遵循良好面向对象原则的人来说,“每个类的方法数”非常有用(太多的方法表明该类可能会承担过多责任)。

“每个方法的平均语句数”可用于了解每个方法的大致大小。对我来说,更有用的是关于具有过多语句的方法的信息(双击模块以获取更详细的信息)。

函数复杂度可用于确定代码的糟糕程度。实际上,我使用这个信息比其他任何信息都要多。这是有关模块中最复杂的函数(至少根据圆形复杂度)的信息。如果您双击模块/文件,可以找出哪个特定的方法很糟糕。


8

一般而言,循环复杂度不超过10是最好的。在大多数情况下,循环复杂度介于11到20之间就已经相当高了:一旦超过20,你更容易遇到找到和修复缺陷的问题,一旦超过50,通常需要重构该方法。

请记住,这些只是指导方针。有可能有一个循环复杂度为25的方法,但它已经尽可能简化了;在需要更新这些方法时,您需要更加小心。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接