使用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:检测耗时。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/474693.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【Flutter学习笔记】9.7 动画过渡组件

参考资料:《Flutter实战第二版》9.7 动画过渡组件 “动画过渡组件”指的是在Widget属性发生变化时会执行过渡动画的组件,其最明显的一个特征就是会在内部管理一个AnimationController。controller定义了过渡动画的时长,而animation对象的定义…

Linux学习之C/C++文件操作底层调用及原理

前言:我们都知道,我们学习的C/C是无法直接与底层硬件进行交互的,所有需要与底层硬件的交互都是通过操作系统作为中介完成的,那Linux到底是怎么做到的呢?接下来我们将揭开它神秘的面纱。 目录 一,操作系统…

全平台7合一万能DIY小程序源码系统 带完整的安装代码包以及安装搭建教程

在当下的小程序市场中,虽然已有众多开发工具和服务平台,但很多用户仍然面临着开发难度大、功能不齐全、定制性差等问题。小编给大家分享一款全平台7合一万能DIY小程序源码系统。该系统旨在解决用户在小程序开发过程中的痛点,提供一站式的小程…

WordPress Plugin NotificationX插件 SQL注入漏洞复现(CVE-2024-1698)

0x01 产品简介 WordPress和WordPress plugin都是WordPress基金会的产品。WordPress是一套使用PHP语言开发的博客平台。该平台支持在PHP和MySQL的服务器上架设个人博客网站。 0x02 漏洞概述 WordPress plugin NotificationX是一个应用插件。2.8.2版本及之前 存在安全漏洞,该…

飞腾+FPGA+AI电力行业智能数据采集与分析网闸解决方案

行业痛点: 安全物联网闸在监控平台中的具体作用:35KV变电站是煤矿的动力核心,采矿人员上下井、煤炭提升输送、矿井通风等核心设备均依靠变电站提供电源。监控中心及时掌握变电站的运行状态对煤矿的安全生产非常重要。如若外部通过监控网络来控制变电站会…

Hyper Casual FX

此包包含: 五彩纸屑-2种 灰尘 - 1 种 闪光灯 - 8 种类型 闪耀 - 3 种类型 闪亮 - 1 种 水-2种 它可以在没有任何设置的情况下开箱即用 下载:​​Unity资源商店链接资源下载链接 效果图:

C语言编程实现文件加解密

目录 1. OpenSSL导入程序项目2. 编写加解密程序1. 程序代码2. 命令行传参3. 文件的读写4. 加解密中的细节 1. OpenSSL导入程序项目 下载并安装OpenSSL,下载地址打开VS,创建控制台应用 记得配置文件位置 右键项目名称,找到属性,并…

MySQL面试复习记录

一、mysql文章地址汇总 以下均为蓝云飘飘的文章: MySQL数据库(一)_写出sql语句,列出薪资比‘王海涛’的薪资高的所有员工,显示姓名,薪资-CSDN博客 MySQL数据库(二)_sql里的性别是什么代表-CSDN博客 ★★★★★ My…

(基础)AJAX概念和axios使用、URL、请求方法和数据提交、HTTP协议、接口、form-serialize插件

AJAX概念和axios使用 AJAX概念 AJAX就是使用XMLHttpRequest对象与服务器通信,它可以使用JSON、XML、HTML和text文本等格式发送和接收数据,AJAX最吸引人的就是它的异步特性,也就是说它可以在不重新刷新页面的情况下与服务器通信,…

Effect:由渲染本身引起的副作用

React 组件中的两种逻辑类型: 渲染逻辑代码 位于组件的顶层,接收 props 和 state,进行转换,返回屏幕上看到的 JSX,只计算不做其他任何事情;事件处理程序 嵌套在组件内部的函数,由特定的用户操作…

【timm笔记1】

1. 安装timm pip install timm2. 打印模型 import timm# 获取并打印所有可用的预训练模型名称 available_models = timm.list_models() # 打印出所有的模型 print(available_models)# 打印所有包含"resnet"字符的模型名称 resnet_models = timm.list_models(*resne…

2024年03月 Discourse 3.3.0.beta1 版本的更新

在这个版本的更新中 Discourse 完成了 Ember 5 版本的升级和更新。 Ember.js是一个用于创建 web 应用的 开源JavaScript MVC 框架,采用基于字符串的Handlebars 模板,支持双向绑定、观察者模式、计算属性(依赖其他属性动态变化)、…

Oracle数据库冷备份(实例)

冷备份 1、 select file#,name,bytes/1024/1024 mb from v$datafile; 2 、缩减 便于copy alter database datafile 2 resize 100m;show parameter spfilecreate undo tablespace u2 datafile /u01oracle/oradata/qq/u2.dbf size 2m autoextend on; //建新的 alter system…

为prj添加kconfig支持

为prj添加kconfig支持 KConfig是一个配置系统,它允许用户和开发者通过配置文件/配置界面选择需要的编译选项。目前大量的项目都有用到该配置系统(linux、u-boot、rt-thread、esp-idf/adf、zephyr等),可以说是一个项目的构建系统中…

代码随想录阅读笔记-字符串【实现 strStr()】

题目 实现 strStr() 函数。 给定一个 haystack 字符串和一个 needle 字符串,在 haystack 字符串中找出 needle 字符串出现的第一个位置 (从0开始)。如果不存在,则返回 -1。 示例 1: 输入: haystack "hello", needle "ll" 输出:…

可应用于工业控制器,新能源充电桩等众多涉及RS232通讯的产品的国产芯片——D3232,性价比高,交货周期短

D3232芯片主要用于工控主板、工业控制器、程序烧录下载器、仿真器、新能源充电桩等众多涉及RS232通讯的产品。 二、基本特性 D3232芯片由两个线路驱动器、两个线路接收器和双电荷泵电路组成,具有HBM>15kV、CDM>2kV的ESD保护能力,并且接收端输入电压…

javaweb遇到的servlet问题,jar包问题

有时候会遇到这种问题,有的地方会报红 这是因为这个找不到这个包,这个项目缺少jar包 在tomcat9之前还不是Jakarta这个名字,我的运行环境与服务器是jdk17与tomcat10 解决方法: 在项目结构中,找到模块,再…

HTTP Error 400. The request hostname is invalid.

异常信息 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN""http://www.w3.org/TR/html4/strict.dtd"> <HTML><HEAD><TITLE>Bad Request</TITLE> <META HTTP-EQUIV"Content-Type" Content"text/html;…

数据库系统概论-第15章 内存数据库管理系统

用内存的数据库&#xff0c;场景接触较少&#xff0c;不细看。 15.1 概述 15.2 内存数据库的发展历程 15.3 内存数据库的特性 15.4 内存数据库的关键技术 15.5 小结

实测国内AI大模型问答效果

随着ChatGPT热度的攀升&#xff0c;越来越多的公司也相继推出了自己的AI大模型。按照github工程awesome-LLMs-In-China所列举的&#xff0c;现如今国内AI大模型已达243个&#xff0c;比较著名的有文心一言、通义千问等。各大应用也开始内置AI玩法&#xff0c;如抖音的AI特效。下…