【问题标题】:Question on Javascript static analysis tool like Google Closure , JSHint , JSLint关于 Google Closure、JSHint、JSLint 等 Javascript 静态分析工具的问题
【发布时间】:2011-06-27 05:22:11
【问题描述】:

Google Closure、JSHint、JSLint 等 Javascript 静态分析工具能否做到以下几点:

  1. 他们能否识别源代码中未使用的 Javascript 文件和函数?
  2. 他们能否识别源代码中重复的 Javascript 文件和函数?

【问题讨论】:

    标签: javascript static analysis


    【解决方案1】:

    这些静态分析工具没有文件的概念,只有代码的文本表示。因此它们不会识别未使用或重复的文件。他们必须了解您如何部署文件才能做到这一点。

    它们不识别未使用的功能。

    它们确实可以识别同一文件中的重复函数。至少在大多数情况下:

    function a() {}
    
    /* ... */ 
    
    function a() {}
    

    会给你a is already defined。然而:

    var a;
    a = function () {};
    
    /* ... */
    
    a = function () {};
    

    完全合法,不会出错。

    如果您想在所有文件中查找重复的函数,只需在 linting 之前将它们连接在一起即可。

    【讨论】:

      【解决方案2】:

      我们的CloneDR 静态分析工具可以找到适用于多种语言(包括 JavaScript)的任意代码片段的精确和近乎重复的副本。它将在文件内和跨文件这样做。 (CloneDR 不会检测未使用的代码。)

      【讨论】:

        猜你喜欢
        • 2010-10-06
        • 2013-11-20
        • 1970-01-01
        • 2023-03-14
        • 2010-09-10
        • 1970-01-01
        • 2010-11-13
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多