使用jscpd对比重复代码

背景

检查项目中重复的代码,或者代码片段


jscpd 两个文件对比

Jscpd 是一个用于检测代码复制和粘贴的工具,它可以比较两个文件并报告相似性的百分比。

以下是如何使用 Jscpd 来比较两个文件的示例:

首先,确保你已经安装了 Node.js 和 jscpd。如果尚未安装,可以使用 npm 安装:

npm install -g jscpd

然后,你可以使用命令行运行 jscpd 并比较两个文件:

jscpd file1.js file2.js

这将输出两个文件之间的相似性报告,包括相似块的数量和相似度百分比。

如果你想要更详细的输出,可以使用 --json 参数将报告输出为 JSON 格式:

jscpd file1.js file2.js --json

这将提供更详尽的 JSON 格式报告,你可以使用这个报告进行进一步的分析或集成到自动化测试中。

jscpd 两个文件夹对比

指定目录检测:

jscpd /path/to/code

举例:

 

 jscpd 注意事项

  1、node 使用13 或者 14版本;
  2、检查前端工程,单独检查src文件即可,不要包含node_modules 否则会内存溢出;
  3、本地的npm源 最好切换成阿里的源;



jscpd 结果说明

  • Clone found (javascript): 显示找到的重复代码块,这里是javascript文件。并且会显示重复代码在文件中具体的行数,便于查找。
  • Format:文件格式,这里是 javascript,还可以是 scss、markup 等。
  • Files analyzed:已分析的文件数量,统计被检测中的文件数量。
  • Total lines:所有文件的总行数。
  • Total tokens:所有的token数量,一行代码一般包含几个到几十个不等的token数量。
  • Clones found:找到的重复块数量。
  • Duplicated lines:重复的代码行数和占比。
  • Duplicated tokens:重复的token数量和占比。
  • Detection time:检测耗时。

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-03-27 01:50:04       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-03-27 01:50:04       101 阅读
  3. 在Django里面运行非项目文件

    2024-03-27 01:50:04       82 阅读
  4. Python语言-面向对象

    2024-03-27 01:50:04       91 阅读

热门阅读

  1. 【Vue】实现的底层原理

    2024-03-27 01:50:04       42 阅读
  2. Qt 事件

    Qt 事件

    2024-03-27 01:50:04      35 阅读
  3. 代码随想录刷题随记6-哈希表2,双指针

    2024-03-27 01:50:04       48 阅读
  4. Vue 与 React 的区别

    2024-03-27 01:50:04       43 阅读
  5. 搭建Kafka集群

    2024-03-27 01:50:04       44 阅读
  6. 简单讲讲spring事务的传播机制

    2024-03-27 01:50:04       41 阅读
  7. 一个好用的文档部署工具-VitePress

    2024-03-27 01:50:04       39 阅读
  8. ChatGPT 3.5和ChatGPT 4.0之间有哪些区别?

    2024-03-27 01:50:04       161 阅读
  9. C++类的定义

    2024-03-27 01:50:04       36 阅读