Вопрос по инструменту статического анализа Javascript, как Google Closure, JSHint, JSLint - PullRequest
1 голос
/ 27 июня 2011

Могут ли инструменты статического анализа Javascript, такие как Google Closure, JSHint, JSLint, выполнять следующие действия:

  1. Могут ли они идентифицировать неиспользуемые файлы и функции Javascript в исходном коде?
  2. Могут ли ониопределить дубликаты файлов и функций Javascript в исходном коде?

Ответы [ 2 ]

1 голос
/ 27 июня 2011

Эти инструменты статического анализа не имеют понятия файлов, только текстовое представление кода. Таким образом, они не идентифицируют неиспользуемые или дублирующие файлы. Для этого им необходимо знать, как вы развертываете файлы.

Они не идентифицируют неиспользуемые функции.

Они идентифицируют повторяющиеся функции в одном файле. По крайней мере, в большинстве случаев:

function a() {}

/* ... */ 

function a() {}

даст вам a is already defined. Тем не менее:

var a;
a = function () {};

/* ... */

a = function () {};

совершенно законно и не выдаст вам ошибку.

Если вы хотите найти дубликаты функций во всех ваших файлах, вы можете просто объединить их вместе перед линтованием.

0 голосов
/ 27 июня 2011

Наш CloneDR инструмент статического анализа найдет точные и почти дублированные копии произвольных фрагментов кода для многих языков, включая JavaScript. Это будет сделано внутри и между файлами. (CloneDR не обнаруживает неиспользуемый код.)

...