damien-list/phpcpd

PHP代码的复制粘贴检测器(CPD)。

4.1.3 2019-11-26 07:30 UTC

README

Latest Stable Version Minimum PHP Version Build Status

PHP复制粘贴检测器(PHPCPD)

phpcpd 是一个用于PHP代码的复制粘贴检测器(CPD)。

安装

PHP存档(PHAR)

获取PHPCPD的最简单方法是下载一个包含所有依赖项的PHP存档(PHAR)文件

$ wget https://phar.phpunit.de/phpcpd.phar
$ chmod +x phpcpd.phar
$ mv phpcpd.phar /usr/local/bin/phpcpd

当然,您下载后也可以立即使用PHAR

$ wget https://phar.phpunit.de/phpcpd.phar
$ php phpcpd.phar

Composer

您可以使用 Composer 将此工具添加为项目依赖,用于本地、项目特定、开发时依赖

$ composer require --dev sebastian/phpcpd

然后您可以使用 vendor/bin/phpcpd 可执行文件调用它。

使用示例

$ phpcpd --fuzzy wordpress-4.9.8
phpcpd 4.1.0 by Sebastian Bergmann.

Found 66 clones with 3014 duplicated lines in 40 files:

  - /home/sb/wordpress-4.9.8/wp-includes/Requests/IRI.php:358-708 (350 lines)
    /home/sb/wordpress-4.9.8/wp-includes/SimplePie/IRI.php:404-754
.
.
.
  - /home/sb/wordpress-4.9.8/wp-includes/SimplePie/File.php:133-144 (11 lines)
    /home/sb/wordpress-4.9.8/wp-includes/SimplePie/File.php:215-226

0.86% duplicated lines out of 349460 total lines of code.
Average size of duplication is 45 lines, largest clone has 350 of lines

Time: 1.79 seconds, Memory: 272.00MB