【问题标题】:Rating architectural efficiency [closed]评估架构效率[关闭]
【发布时间】:2009-05-29 10:21:18
【问题描述】:

您如何评价某个设计的效率?

你的变量是什么?

我能想到的:

  • 联轴器
  • 设计模式使用
  • 语言习语使用。
  • 可扩展性。
  • 高活力。
  • 代码重用。
  • 灵活性。
  • 对错误的鲁棒性。
  • 可测试性。
  • 设计对资源使用和内存的影响。
  • 便携性。
  • 使用正确的编程范例。
  • 设计对运行时效率的影响。
  • 封装。

您将如何计算这些指标?

我听说过作为一种工具的程序指标,但我不知道它们是什么以及如何计算它们。

感谢任何愿意提供帮助的人。

编辑: 这是我新生博客中关于该主题的blog entry

【问题讨论】:

  • 在这种情况下,您所说的“效率”到底是什么意思?
  • 与其他设计相比,这个设计效果更好吗?
  • 还有其他人吗?我需要更多建议。

标签: performance architecture metrics software-quality


【解决方案1】:

我也想考虑以下指标:

  1. 可扩展性。
  2. 高生存能力。

关于您的建议,我认为内存不能作为设计效率的衡量标准,因为它更多地基于实现。


编辑:(关于解析公式的评论后)
我认为您无法找到计算设计效率的终极公式,因为它非常主观。但是您可以采用一些统计技术,定义在设计中对您真正重要的指标。然后为每个度量定义其权重。现在找到不同的用例,检查你的设计如何适应每个指标并给它们打分。毕竟,您可以使用 V= Sum(W_i*G_i)/Sum(W_i) 标准化和计算值,其中 W_i 是重量,G_i 是等级。通过这种方式,您可以指定设计中对您重要的任何内容并进行相应计算。

【讨论】:

  • 是的,但是您将如何提供计算此类评级的公式?
  • 您在寻找分析公式来计算效率吗?
  • 对,但这完全取决于您希望它有多复杂。例如,如果您愿意,某些部分以某种方式相互关联,您可以扩展公式并以某种方式定义关系。
  • 看,这个话题是一个很好的研究点。几乎所有你必须凭经验做的事情,我的意思是在为你的应用程序实现这样的公式时,你可能会或可能不会考虑很多可能的解决方案和不同的定义。例如你可以发现代码重用和模式使用可以被认为是相关的,一个简单的例子是线性依赖,但你仍然需要凭经验找到如何定义它。
  • 您想通过电子邮件聊天而不是在这里发表评论吗?
【解决方案2】:

有几个工具可以为您做到这一点。我用过的一个是Checkstyle - Metrics

我不能说在设计时真的考虑了这些指标,但是当我正在寻找一些代码来攻击时,在缓慢/懒惰的下午使用它们。

【讨论】:

    【解决方案3】:

    代码重用。虽然您可能无法将其计为正值,但您可以将其未充分使用计为负值,并针对不良代码重用获得累积惩罚分数。

    【讨论】:

    • 你怎么说从 1 到 10 很重要。例如,您如何确定它比耦合更重要?
    猜你喜欢
    • 1970-01-01
    • 2016-07-14
    • 1970-01-01
    • 2010-11-10
    • 1970-01-01
    • 1970-01-01
    • 2018-10-04
    • 2014-06-11
    • 2016-11-26
    相关资源
    最近更新 更多