【问题标题】:What does Visual Studio Code Analysis Lines of Code do with HTML, CSS and Javascript?Visual Studio 代码分析代码行对 HTML、CSS 和 Javascript 有什么作用?
【发布时间】:2025-12-07 06:05:01
【问题描述】:

我知道代码行 (LoC) 是一个可疑的代码指标,即使不是错误的代码指标,也有很多关于此的帖子。

但是...我仍然需要在报告中提供网站的 LoC 计数。

我正在使用 Visual Studio 2010 代码分析代码度量功能来获取 LoC,当时我想知道它是做什么用的,或者它是如何计算 HTML、CSS 和 Javascript 的?

VS 帮助文本提供了该指标的描述 -

代码行数 – 表示代码中的大致行数。该计数基于 IL 代码,因此不是源代码文件中的确切行数。一个非常高的计数可能表明一个类型或方法正在尝试做太多的工作,应该被拆分。这也可能表明该类型或方法可能难以维护。

所以我的多部分问题是...... HTML、CSS、Javascript 是否被编译为 IL,如果是,那么我是否应该假设它包含在 VS LoC 指标中?如果它没有被编译为 IL,那么在我的报告的 LoC 指标中计算或包含 HTML、CSS 和 Javascript 的最佳方法是什么?或者它们甚至应该包含在 LoC 中吗?

【问题讨论】:

    标签: javascript css visual-studio-2010 code-analysis code-metrics


    【解决方案1】:

    我认为这不算在内,这显然是经过深思熟虑的 基于行数的 Stack Overflow 历史中的响应。 还要计算 JavaScript 文件中的行数尝试

    find . -name '*.js' | xargs wc -l
    

    【讨论】:

    • 另外,如果我怀疑你使用的是 Windows,请尝试 cygwin。
    【解决方案2】:

    HTML、CSS、Javascript 会被编译成 IL 吗?

    否 - 这些文件是静态的。它们被编译的唯一时间是你在代码中编写它们并直接将它们添加到Response 缓冲区。

    如果它没有被编译成 IL,在我的报告的 LoC 指标中计算或包含 HTML、CSS 和 Javascript 的最佳方法是什么?或者它们甚至应该包含在 LoC 中吗?

    我会说计算这些文件可能没有多大用处——尽管掌握 JavaScript 文件大小可能很重要,因为它会对页面加载时间产生一些影响(更大的文件需要更长的时间来下载——但是除非你有 20K 行 JavaScript,否则差别应该不大。

    有一些工具可以计算所有文件类型的代码行数。 Microsoft 的 LOC 计数器是 here。此外,NDepend(有免费试用版)之类的工具也可以计算代码行数。

    【讨论】:

    • 如果其中任何一个通过最小化器发送会有什么区别?他们会把它算作一个 LOC 吗?
    • @Rob 我想这取决于它如何最小化它。我从来没有真正考虑过它,因为我并不真正关注我拥有的 JavaScript 代码行数——我通常更关注我正在下载到客户端的文件(和所有资源)的大小。打包和压缩肯定在我的应用程序的生产中发挥作用。
    • @JSager 但是缩小只是真正删除空格和格式,它不会改变循环、if 语句等。您可能有一行很长的文本和较小的文件大小,但实际的代码语句数确实如此没有真正改变。
    • 斯科特,我知道。不要喂巨魔;)
    【解决方案3】:

    HTML/CSS/JS 是否编译为 IL? 将 HTML 模板编译为 IL 是可能的(也是一个好主意),但我怀疑它是否在您的情况下完成。您的文件可能只是静态的,并应请求提供。

    替代方案? CodeAnalyzeHow do you count your Lines of Code? 一样

    在 LoC 中包含 HTML/CSS/JS? 如果您需要此统计数据来显示您完成了多少工作,您可以将所有这些都包含在内。如果要大致了解复杂性,我只会包含您编写的 Javascript 文件(不包括 jQuery 等)。

    【讨论】:

      【解决方案4】:

      它在那里说它“基于 IL 代码”。根据定义,它不能包括非 IL 语言,例如 HTML、CSS 和 Javascript。

      不确定您如何得出这个计数,但我会担心是谁要求您提供这样的计数 - 这是一个无用的指标,尤其是对于那些语言。

      【讨论】: