【问题标题】:What would be a good way to measure the size of a JSP project?什么是衡量 JSP 项目规模的好方法?
【发布时间】:2011-12-05 08:16:40
【问题描述】:

给定一个现有的 JSP 项目,我想了解一下项目“视图”部分的复杂性/大小。这是我到目前为止所做的:

  • 提取了过去 x 个月内从生产服务器编译的 JSP 列表(消除了“死”的 jsps)。
  • 编写了一个快速扫描程序来查找导入到已编译页面中的 JSP 片段文件。
  • 从文件系统中提取文件的大小和时间戳。

所以现在我有一个页面列表和导入到这些页面中的片段,以及它们的大小,以及它们最后一次编译和更改的时间。

但我真正需要知道的是页面有多复杂;其中一些页面上有大量的 Java 代码。这是一个大项目,所以要浏览每个页面和大小会很乏味,而且可能不太准确。

我打算编写另一个扫描器来测量 之间的代码,但我想知道是否有某种度量生成器已经可以做到这一点。我希望它输出页面有多大以及页面上的代码有多大。关键是要区分小、中、大和大页面,因此绝对测量不如相对重要。

编辑: 编写了另一个扫描程序来计算 JavaScript 行数、Java (Scriptlet) 行数、HTML 行数和 taglib 使用实例的数量。因此,通过使用扫描仪的结果,我有一些表明“复杂性”的参数。不是很干净,但现在还可以。

【问题讨论】:

  • 我会对您的“为我计算那些 scriptlet 行数”工具非常感兴趣。你介意分享一下吗?

标签: jsp metrics code-metrics sizing


【解决方案1】:

所以问题是你有少量的 Java 代码散布在 html 中,所以没有标准的度量工具可以工作。

不是现成的,但我们的Source Code Search Engine 可能会非常接近。这是一个通过使用语言准确的词法提取索引源代码来搜索大型代码库的工具。这里的相关性是它计算它索引的文件的 SLOC、评论计数、Halstead 和 Cyclomatic 度量,因此如果您简单地忽略搜索功能,您将获得度量。这些指标生成到一个 XML 文件(每个源文件有一个“记录”),因此您可以对它们进行任何进一步的处理。请参阅链接网页上的指标讨论。

虽然我们确实有一个 JSP 词法分析器,但它还没有在搜索引擎上进行过测试。我们已经构建了几十个词法分析器,所以这对我们来说应该很容易做到(我们很乐意这样做)。这会直接产生你想要的答案。

如果你不想走这条路,你可以按照你的简单想法来提取 之间的代码,将其转储到与原始 JSP 文件并行的文件中, 并通过其用于搜索引擎的(生产)Java 词位提取器将该代码交给搜索引擎,并以这种方式获取您的指标。对于格式错误的文件,词法分析器非常健壮,因此提取的 Java 片段可能并不完全合法这一事实不会打扰它。

【讨论】:

  • 源代码搜索引擎看起来很酷!有一天我可能想在 Java 类上使用它。我立即需要的是非常非正式的,而且我必须快速完成一些事情,所以除非我能找到一个可以指向 JSP 文件列表并“运行”的工具,否则我可能会退回到写作快速而肮脏的扫描仪。
  • 您可以下载它,并尝试 Ad Hoc lexeme extractor,它旨在处理“通用编程语言”(但仍会产生指标!)。这会让你很快得到答案。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-02-18
  • 1970-01-01
  • 2020-09-07
  • 1970-01-01
相关资源
最近更新 更多