阅读了 "计算代码度量" 问题的答案后,我安装了工具 SourceMonitor 并计算了一些指标。
然而我不知道如何解释它们。
对于以下度量指标,什么数值是“好”的呢?
- “百分比分支语句”
- “每个类的方法数量”
- “每个方法的平均语句数量”
- “最大方法或函数复杂度”
我在文档中找不到提示,有人可以帮忙吗?
阅读了 "计算代码度量" 问题的答案后,我安装了工具 SourceMonitor 并计算了一些指标。
然而我不知道如何解释它们。
对于以下度量指标,什么数值是“好”的呢?
我在文档中找不到提示,有人可以帮忙吗?
SourceMonitor是一个很棒的工具。
对于那些希望确保其类遵循良好面向对象原则的人来说,“每个类的方法数”非常有用(太多的方法表明该类可能会承担过多责任)。
“每个方法的平均语句数”可用于了解每个方法的大致大小。对我来说,更有用的是关于具有过多语句的方法的信息(双击模块以获取更详细的信息)。
函数复杂度可用于确定代码的糟糕程度。实际上,我使用这个信息比其他任何信息都要多。这是有关模块中最复杂的函数(至少根据圆形复杂度)的信息。如果您双击模块/文件,可以找出哪个特定的方法很糟糕。
一般而言,循环复杂度不超过10是最好的。在大多数情况下,循环复杂度介于11到20之间就已经相当高了:一旦超过20,你更容易遇到找到和修复缺陷的问题,一旦超过50,通常需要重构该方法。
请记住,这些只是指导方针。有可能有一个循环复杂度为25的方法,但它已经尽可能简化了;在需要更新这些方法时,您需要更加小心。