评估架构效率

时间:2009-05-29 10:21:19

标签: math performance

您如何按数字评价某种设计的效率?
你的变数是什么? 我能想到:

  • 耦合
  • 设计模式使用
  • 语言习语使用。
  • 可扩展性。
  • 高生存力。
  • 代码重用。
  • 灵活性。
  • 对错误的强大感。
  • 可测试性。
  • 设计对资源使用和内存的影响。
  • 可移植性。
  • 使用正确的编程范例。
  • 设计对运行时效率的影响。
  • 封装。

你怎么算这样的东西?
我听说程序指标是计算这样一个东西的工具,但我不知道它是什么以及它是如何完成的。

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

编辑: 以下是关于我新生博客主题的blog entery

3 个答案:

答案 0 :(得分:2)

我想考虑以下指标:

  1. 可扩展性。
  2. Highviability。
  3. 关于你的建议,我不认为记忆可能是设计效率的指标,因为它更基于实现。


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

答案 1 :(得分:1)

有一些工具可以为你做到这一点。我使用的是Checkstyle - Metrics

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

答案 2 :(得分:1)

代码重用。虽然您可能无法将其视为正值,但您可以将其视为负值,并获得错误代码重用的累积惩罚分数。