15

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

但我不知道如何解释它们。

什么是指标的“好”值

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

我在文档中没有找到任何提示,有人可以帮助我吗?

4

2 回答 2

16

SourceMonitor 是一个很棒的工具。

“每个类的方法”对于那些希望确保他们的类遵循良好的 OO 原则的人很有用(方法太多表明一个类可能承担的责任超出其应有的范围)。

“每个方法的平均语句数”对于大致了解每种方法的大小很有用。对我来说更有用的是关于具有太多语句的方法的信息(双击模块以获得更精细的细节)。

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

于 2008-09-25T16:19:38.053 回答
8

作为一般经验法则,10 或更少的圈复杂度是您想要的。在大多数情况下,从 11 到 20 的 CC 大约与您想要的一样高:一旦超过 20,您更有可能在查找和修复缺陷时遇到问题,而一旦超过 50,您通常会寻找现在需要重构的方法。

请记住,这些是指导方针。可以有一个 CC 为 25 的方法,该方法尽可能简化;当您需要更新这些方法时,您只需要更加小心。

于 2008-09-25T20:18:17.793 回答