дублирование кода в javascript

Есть ли инструмент для обнаружения дублирования кода в JavaScript? Я попробовал «Детектор дубликатов кода PMD», но он не поддерживает расширение .js.


person chandra    schedule 19.10.2010    source источник
comment
Вы всегда можете написать собственное расширение для js: pmd.sourceforge.net/cpd-parser- как.html   -  person Mark Chorley    schedule 19.10.2010


Ответы (4)


Я бы рекомендовал JSCPD

Установка

npm install -g jscpd

Бегать

jscpd ./path/to/code

(у вас есть несколько типов репортеров, по умолчанию используется консоль, но вы можете использовать html вот так: jscpd -r html ./path/to/code)

Другие решения:

  • JSinspect мне не подходил, потому что не поддерживал .ts и .tsx (jscpd поддерживает 150+ форматов
  • InteliJ IDE (я их большой поклонник), похоже, не работают, поскольку WebStorm не нашел дублированного кода.
person Cramer Gabriel    schedule 19.06.2019

Вы можете использовать JS Inspect, он обнаруживает скопированный и структурно похожий код, а также поддерживает *.js

Установка

npm install -g jsinspect

Бегать

jsinspect -t 50 ./path/to/src
person Shashank K    schedule 22.12.2017
comment
Предупреждение из файла README jsinspect: Note: the project has been mostly rewritten for the 0.10 release. - person Paul Razvan Berg; 30.04.2019

Я бы рекомендовал посмотреть этот поток (также в stackoverflow): Анализ исходного кода Javascript ( особенно проверка на дублирование )

person NT3RP    schedule 06.02.2011

IDE может иметь эту функцию. Я использую IntelliJ, эта IDE имеет встроенный механизм проверки дубликатов кода в двух областях:

  • Встроенный: повторяющиеся коды подчеркиваются при открытии в редакторе, чтобы разработчик мог легко найти и выполнить рефакторинг.
  • Анализ: перейдите в меню «Анализ» -> «Найти дубликаты...», укажите область действия и список всех дубликатов.
person Khoa Bui    schedule 10.08.2017