冗余代码检查CPD使用

前言

随着代码不断开发,项目不断变更,项目人员不断更迭。有些时候,由于不清楚或者不熟悉,在代码中写了大量重复代码,后期如果要人工检查去处理太消耗人力。CPD(copy-paste-detecto)支持 C/C++, C#, Dart, Fortran, Go, Groovy, Java, JavaScript, JSP, Kotlin, Lua, Matlab, Modelica, Objective-C, Perl, PHP, PLSQL, Python, Ruby, Salesforce.com Apex, Scala, Swift, Visualforce and XML.代码检查
github地址:https://github.com/pmd/pmd

一、下载

wget https://github.com/pmd/pmd/releases/download/pmd_releases%2F6.39.0/pmd-bin-6.39.0.zip
unzip pmd-bin-6.39.0.zip

二、命令行启动

进入pmd-bin的bin目录

$ ./run.sh cpd --minimum-tokens 100 --files /usr/local/java/src/java --language java

–minmum-tokens 必填参数 The minimum token length which should be reported as a duplicate.
–files. 必填参数 需要分析的文件目录
–language 指定代码的语言,非必填,默认为java

三、图形化界面启动

进入pmd-bin的bin目录

$ ./run.sh cpdgui

在这里插入图片描述
选择自己项目代码,对应的开发语言,重复字符数量,然后点击go进行测试

总结

CPD是一款比较轻量级别查找代码重复的工具

参考文档:
https://pmd.github.io/pmd-6.39.0/pmd_userdocs_cpd.html#refactoring-duplicates
https://refactoring.guru/smells/duplicate-code

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值