3

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

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

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

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

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

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

4

1 回答 1

1

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

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

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

If you didn't want to go down that path, you could follow through with your simple idea of extracting the code between <% and %>, dump it into files parallel to the original JSP files, and hand that code to the search engine through its (production) Java lexeme extractor for the Search Engine, and get your metrics that way. The lexers are very robust in the fact of malformed files, so the fact that the Java fragments extracted might not collectively be quite legal wont bother it a bit.

于 2011-10-12T03:38:57.570 回答