首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >度量和面向对象的编程

度量和面向对象的编程
EN

Stack Overflow用户
提问于 2018-12-06 01:49:59
回答 2查看 0关注 0票数 0

我想知道是否有人经常使用指标来验证其代码/设计。例如,我想我将使用:

  • 每种方法的行数(<20)
  • 每种方法的变量数(<7)
  • 每种方法的参数个数(<8)
  • 每班的方法数量(<20)
  • 每班人数(<20)
  • 继承树深度(<6)。
  • 方法缺乏凝聚力

大多数这些指标都非常简单。

你对这种情况的政策是什么?你是否使用工具来检查它们(例如NDepend)?

EN

回答 2

Stack Overflow用户

发布于 2018-12-06 10:05:55

在我看来,对这些值施加数值限制(因为你似乎暗示数字)是不是很好的主意。如果存在重要的switch语句,则方法中的行数可能非常大,但该方法仍然简单且正确。如果字段很简单,则类中的字段数可以适当地非常大。有时,五级继承可能太多了。

我认为分析类内聚(越多越好)和耦合(越少越好)越好,但即便如此,我也怀疑这些指标的效用。经验通常是一个更好的指导(尽管如此,这是昂贵的)。

票数 0
EN

Stack Overflow用户

发布于 2018-12-06 11:04:13

我没有在你的清单中看到的一个指标是McCabe的Cyclomatic Complexity。它测量给定函数的复杂性,并与bugginess相关。例如,函数的高复杂性分数表明:1)它可能是一个错误的函数,2)可能很难正确修复(例如修复将引入自己的错误)。

最终,指标最好用于总体水平 - 如控制图。您查找控制限制之上和之下的点以识别可能的特殊情况,然后查看详细信息。例如,具有高圈复杂度的函数可能会导致您查看它,只发现它是合适的,因为它是一个具有多个案例的调度程序方法。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/-100000912

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档