问题标签 [metrics]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
25 回答
40655 浏览

algorithm - 八岁的Big-O?

我正在询问更多关于这对我的代码意味着什么。我从数学上理解这些概念,我只是很难理解它们在概念上的含义。例如,如果要对数据结构执行 O(1) 操作,我知道它必须执行的操作数量不会增加,因为有更多项目。O(n) 操作意味着您将对每个元素执行一组操作。有人可以在这里填空吗?

  • 就像 O(n^2) 操作到底会做什么?
  • 如果一个操作是 O(n log(n)),这到底意味着什么?
  • 是否有人必须抽大麻才能写出 O(x!)?
0 投票
5 回答
2395 浏览

c# - 从 .NET 确定 C# 和 C++ 的 SLOC 和复杂性

几年来,我一直在我的项目中使用 SourceMonitor,以记录 C# 和 C++ 组件的源代码复杂性和基本 SLOC(包括注释)。这些用于向我们的客户进行外部报告,所以我无法争论它们的优点或不足。

我一直在研究一个存储库分析工具,它能够在任何日期/时间为我提供项目的快照视图。我要添加的下一个阶段是缓存指定文件和修订的指标。

我知道 SourceMonitor 可以编写脚本以允许我提供要测试的文件并从结果文件 CSV 或 XML 中获取指标。

.NET 中是否有一个本地库,我可以使用它来做同样的事情——例如,避免产生外部进程并解析结果。

我只需要以下指标:

  • SLOC
  • 注释行数
  • 最复杂方法的复杂性
  • 最复杂方法的名称

我需要在C#代码和普通C++代码上运行它。

编辑:由于我已经拥有提供所需 GUI 和报告的工具,因此需要使用库/API 编写或生成指标,而无需手动步骤。理想情况下,我想获取指定文件/修订版(而不是整个项目)的指标,我的实用程序将自动从版本控制中拖动。

注意:我为此创建了一个赏金,并且在它过期时正在度假...... NDepends 的答案并不让我满意,因为它不查看源代码,而是查看程序集本身!

0 投票
2 回答
10990 浏览

metrics - 如何解释代码指标(由 SourceMonitor 计算)

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

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

什么是指标的“好”值

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

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

0 投票
3 回答
1774 浏览

php - 日志/图表 PHP 执行时间

是否有任何工具可用于记录 php 站点的页面加载时间?

主要是寻找我可以看到加载时间随时间变化的趋势,我正在考虑使用 error_log() 将它们转储到文件中,但我不知道我可以用什么来解析它并显示图表

0 投票
1 回答
569 浏览

metrics - 有人使用 ABC Metric 来测量应用程序的大小吗?

它有一些不错的东西(比如它封装了圈复杂度的概念),我想知道是否有人在“现实生活”中使用过它。如果是这样,你的经验是什么?它是衡量大小的有用指标(与 KLOC 或功能点相反)吗?

对于那些想知道我在抽什么烟的人:这里有一些关于它的信息的链接:http ://c2.com/cgi/wiki/Wiki?AbcMetric

0 投票
2 回答
1341 浏览

code-analysis - 了解代码指标

我最近安装了 Eclipse Metrics 插件,并为我们的一个项目导出了数据。

拥有这些漂亮的图表非常好,但我真的很想更深入地了解它们的含义。指标的定义只能告诉你它的真正含义。

有谁知道任何好的资源、书籍、网站等,可以帮助我更好地理解所有数据的含义,并了解如何在必要时改进代码?

我对传出耦合和圈复杂性等事物感兴趣,而不是代码行或每个方法的行数。

0 投票
6 回答
288 浏览

database - 您如何衡量流经您的软件的所有查询?

在他的一篇博客文章中,该网站的所有者向读者提出了这个问题,“您正在自动测量流经您的软件的所有查询,对吗?”

你怎么做到这一点?对数据库进行查询的每一行代码后面都有一行代码递增一个计数器?或者,是否有位于您的应用程序和数据库之间并为您执行此操作的工具?

0 投票
45 回答
30695 浏览

metrics - 什么时候,如果有的话,“代码行数”是一个有用的指标?

有些人声称代码最大的敌人是它的大小,我倾向于同意。然而每天你都会听到诸如此类的事情

  • 我一天就写了几行代码。
  • 我拥有 x 行代码。
  • Windows 是 x 百万行代码。

问题:“#lines of code”什么时候有用?

ps:注意,这种说法的时候,语气是“越多越好”。

0 投票
3 回答
1951 浏览

oop - 面向对象语言的类与代码行的良好比例是多少?

对于面向对象的语言(比如 C++、C#、Java 等),类数与代码行数的良好比率是多少?

包括经理在内的许多人都喜欢用传统的 LOC(代码行)度量来衡量软件的复杂性,而许多顽固的面向对象的开发人员会说 LOC 毫无价值,因为它的类数才是重要的。而且我个人认为,类可能是一个更合理的复杂性度量,但是如果没有 LOC 度量,这些类的实际复杂性(其中的恶作剧者和神灵的数量)很难估计。

因此,有人知道对于一些编码良好的软件来说,什么可能是一个健康的比率?

编辑:在这种特殊情况下,我正在寻找一个比率来确定清理代码可能需要多少重构的大致估计。

编辑:有人知道一些大型 OSS 项目(如 Firefox、Apache、Webkit 等)的比率吗?

0 投票
27 回答
4425 浏览

language-agnostic - 什么代码指标让你相信提供的代码是“糟糕的”?

每个文件的代码行、每个类的方法、圈复杂度等等。开发人员抵制并解决大多数(如果不是全部)!有一篇很好的Joel 文章(现在没时间找到)。

您推荐使用哪些代码指标来自动识别“糟糕的代码”?

什么可以说服大多数开发人员(你不能说服我们所有人接受一些糟糕的指标!:O))这段代码是“垃圾”。

只有可以自动测量的指标才有意义!