Google Closure,JSHint,JSLint等Javascript静态分析工具可以执行以下操作:
答案 0 :(得分:1)
这些静态分析工具没有文件概念,只有代码的文本表示。因此,他们不会识别未使用或重复的文件。他们必须知道如何部署文件才能做到这一点。
他们没有识别未使用的功能。
他们确实在同一个文件中识别出重复的功能。至少在大多数情况下:
function a() {}
/* ... */
function a() {}
会给你a is already defined
。但是:
var a;
a = function () {};
/* ... */
a = function () {};
是完全合法的,不会给你一个错误。
如果你想在所有文件中找到重复的功能,你可以在linting之前简单地将它们连接在一起。
答案 1 :(得分:0)
我们的CloneDR静态分析工具可以找到许多语言(包括JavaScript)的任意代码片段的精确和近似重复的副本。它将在文件内和文件之间执行。 (CloneDR未检测到未使用的代码。)